=>> Building lang/perl5.32
build started at Tue Jun 27 14:25:05 BST 2023
port directory: /usr/ports/lang/perl5.32
package name: perl5-5.32.1_3
building for: FreeBSD 131amd64-default-job-02 13.1-RELEASE-p7 FreeBSD 13.1-RELEASE-p7 amd64
maintained by: mat@FreeBSD.org
Makefile ident: 
Poudriere version: 3.3.7_1
Host OSVERSION: 1301000
Jail OSVERSION: 1301000
Job Id: 02

---Begin Environment---
SHELL=/bin/csh
OSVERSION=1301000
UNAME_v=FreeBSD 13.1-RELEASE-p7
UNAME_r=13.1-RELEASE-p7
BLOCKSIZE=K
MAIL=/var/mail/root
MM_CHARSET=UTF-8
LANG=C.UTF-8
STATUS=1
HOME=/root
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
LOCALBASE=/usr/local
USER=root
LIBEXECPREFIX=/usr/local/libexec/poudriere
POUDRIERE_VERSION=3.3.7_1
MASTERMNT=/space/poudriere_data/.m/131amd64-default/ref
POUDRIERE_BUILD_TYPE=bulk
PACKAGE_BUILDING=yes
SAVED_TERM=screen
PWD=/space/poudriere_data/.m/131amd64-default/ref/.p/pool
P_PORTS_FEATURES=FLAVORS SELECTED_OPTIONS
MASTERNAME=131amd64-default
SCRIPTPREFIX=/usr/local/share/poudriere
OLDPWD=/space/poudriere_data/.m/131amd64-default/ref/.p
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
POUDRIEREPATH=/usr/local/bin/poudriere
---End Environment---

---Begin Poudriere Port Flags/Env---
PORT_FLAGS=
PKGENV=
FLAVOR=
DEPENDS_ARGS=
MAKE_ARGS=
---End Poudriere Port Flags/Env---

---Begin OPTIONS List---
===> The following configuration options are available for perl5-5.32.1_3:
     DEBUG=off: Build with debugging support
     DOT_INC=off: Add '.' to @INC (unsafe)
     DTRACE=on: Build with DTrace probes
     GDBM=off: GDBM_File extension
     MULTIPLICITY=on: Use multiplicity
     PERL_64BITINT=on: Use 64 bit integers (on i386)
     PERL_MALLOC=off: Use Perl malloc
     SITECUSTOMIZE=off: Run-time customization of @INC
     THREADS=on: Build threaded perl
===> Use 'make config' to modify these settings
---End OPTIONS List---

--MAINTAINER--
mat@FreeBSD.org
--End MAINTAINER--

--CONFIGURE_ARGS--
-Darchlib=/usr/local/lib/perl5/5.32/mach  -Dcc="cc"  -Dcf_by=mat  -Dcf_email=mat@FreeBSD.org  -Dcf_time="`/usr/bin/stat -t \"%a %b %d %T %Z %Y\" -f %Sm /distfiles/perl/perl-5.32.1.tar.xz`"  -Dinc_version_list=none  -Dlibperl=libperl.so.5.32.1  -Dman1dir=/usr/local/lib/perl5/5.32/perl/man/man1  -Dman3dir=/usr/local/lib/perl5/5.32/perl/man/man3  -Dprefix=/usr/local  -Dprivlib=/usr/local/lib/perl5/5.32  -Dscriptdir=/usr/local/bin  -Dsitearch=/usr/local/lib/perl5/site_perl/mach/5.32  -Dsitelib=/usr/local/lib/perl5/site_perl  -Dsiteman1dir=/usr/local/lib/perl5/site_perl/man/man1  -Dsiteman3dir=/usr/local/lib/perl5/site_perl/man/man3  -Dusenm=n  -Duseshrplib  -sde  -Ui_iconv  -Ui_malloc  -Uinstallusrbinperl  -Accflags='-DUSE_THREAD_SAFE_LOCALE' -Alddlflags='-L/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 -L/usr/local/lib/perl5/5.32/mach/CORE -lperl'  -Dshrpldflags='$(LDDLFLAGS:N-L/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1:N-L/usr/local/lib/perl5/5.32/mach/CORE:N-lperl) -Wl,-soname,$(LIBPERL:R)' -Doptimize="-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing " -Dusedtrace -Ui_gdbm -Dusemultiplicity=y -Duse64bitint -Dusemymalloc=n -Dusethreads=y
--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
UNAME_v="$(uname -v | sed 'y/=/ /')" XDG_DATA_HOME=/wrkdirs/usr/ports/lang/perl5.32/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/perl5.32/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/lang/perl5.32/work/.cache  HOME=/wrkdirs/usr/ports/lang/perl5.32/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/lang/perl5.32/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/lang/perl5.32/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/lang/perl5.32/work  XDG_CONFIG_HOME=/wrkdirs/usr/ports/lang/perl5.32/work  XDG_CACHE_HOME=/wrkdirs/usr/ports/lang/perl5.32/work/.cache  HOME=/wrkdirs/usr/ports/lang/perl5.32/work TMPDIR="/tmp" PATH=/wrkdirs/usr/ports/lang/perl5.32/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/lang/perl5.32/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local  LOCALBASE=/usr/local  CC="cc" CFLAGS="-O2 -pipe  -fstack-protector-strong -fno-strict-aliasing "  CPP="cpp" CPPFLAGS=""  LDFLAGS=" -fstack-protector-strong " LIBS=""  CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing  "  MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555"  BSD_INSTALL_LIB="install  -s -m 0644"  BSD_INSTALL_SCRIPT="install  -m 555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
ARCH_LIB=lib/perl5/5.32/mach  MAN1=lib/perl5/5.32/perl/man/man1  MAN3=lib/perl5/5.32/perl/man/man3  PERL_ARCH=mach  PERL_ARCH_regex=[[:<:]]mach[[:>:]]  PERL_VER=5.32  PERL_VERSION=5.32.1  PERLMANPREFIX=lib/perl5/5.32/perl  PERLMANPREFIX_regex=lib/perl5/5.32/perl[[:>:]]  PKGNAMESUFFIX=5  PRIV_LIB=lib/perl5/5.32  SITE_ARCH=lib/perl5/site_perl/mach/5.32  SITE_PERL=lib/perl5/site_perl  SITEMANPREFIX=lib/perl5/site_perl DEBUG="@comment " NO_DEBUG="" DOT_INC="@comment " NO_DOT_INC="" DTRACE="" NO_DTRACE="@comment " GDBM="@comment " NO_GDBM="" MULTIPLICITY="" NO_MULTIPLICITY="@comment " PERL_64BITINT="" NO_PERL_64BITINT="@comment " PERL_MALLOC="@comment " NO_PERL_MALLOC="" SITECUSTOMIZE="@comment " NO_SITECUSTOMIZE="" THREADS="" NO_THREADS="@comment " BINSUFFIX=""  DEFAULT="" OSREL=13.1 PREFIX=%D LOCALBASE=/usr/local  RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/perl"  EXAMPLESDIR="share/examples/perl"  DATADIR="share/perl"  WWWDIR="www/perl"  ETCDIR="etc/perl"
--End PLIST_SUB--

--SUB_LIST--
PERL_ARCH=mach  PERL_VER=5.32  PERL_VERSION=5.32.1  PERLMANPREFIX=lib/perl5/5.32/perl  PRIV_LIB=lib/perl5/5.32  SITE_PERL=lib/perl5/site_perl  SITEMANPREFIX=lib/perl5/site_perl DEBUG="@comment " NO_DEBUG="" DOT_INC="@comment " NO_DOT_INC="" DTRACE="" NO_DTRACE="@comment " GDBM="@comment " NO_GDBM="" MULTIPLICITY="" NO_MULTIPLICITY="@comment " PERL_64BITINT="" NO_PERL_64BITINT="@comment " PERL_MALLOC="@comment " NO_PERL_MALLOC="" SITECUSTOMIZE="@comment " NO_SITECUSTOMIZE="" THREADS="" NO_THREADS="@comment " PREFIX=/usr/local LOCALBASE=/usr/local  DATADIR=/usr/local/share/perl DOCSDIR=/usr/local/share/doc/perl EXAMPLESDIR=/usr/local/share/examples/perl  WWWDIR=/usr/local/www/perl ETCDIR=/usr/local/etc/perl
--End SUB_LIST--

---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
FORCE_PACKAGE=yes
PACKAGE_BUILDING=yes
PACKAGE_BUILDING_FLAVORS=yes
#### /space/poudriere/poudriere.d/131amd64-make.conf ####
ENABLE_SUIDPERL=yes
JADETEX=yes
LIGHTTPD=yes
OPTIONS_SET=APACHE PGSQL SWAT PDO_PGSQL CUPS SASL BIND910 NTVFS DATABASE VORBISENC ATOMICPARSLEY FFMPEG
OPTIONS_UNSET=DOCS MYSQL
finance_gnucash_SET=DATABASE
databases_libdbi-drivers_SET=MYSQL
emulators_qemu_SET=DOCS
mail_roundcube_SET=SQLITE
mail_roundcube_UNSET=PGSQL
audio_baresip_SET=GSTREAMER
MPDDIR=/space/music
WITH_CCACHE_BUILD=yes
CCACHE_DIR=/root/.ccache
#### Misc Poudriere ####
.include "/etc/make.conf.ports_env"
GID=0
UID=0
DISABLE_MAKE_JOBS=poudriere
---End make.conf---
--Resource limits--
cpu time               (seconds, -t)  unlimited
file size           (512-blocks, -f)  unlimited
data seg size           (kbytes, -d)  33554432
stack size              (kbytes, -s)  524288
core file size      (512-blocks, -c)  unlimited
max memory size         (kbytes, -m)  unlimited
locked memory           (kbytes, -l)  unlimited
max user processes              (-u)  12099
open files                      (-n)  1024
virtual mem size        (kbytes, -v)  unlimited
swap limit              (kbytes, -w)  unlimited
socket buffer size       (bytes, -b)  unlimited
pseudo-terminals                (-p)  unlimited
kqueues                         (-k)  unlimited
umtx shared locks               (-o)  unlimited
--End resource limits--
=======================<phase: check-sanity   >============================
===>  License ART10 GPLv1+ accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===>   perl5-5.32.1_3 depends on file: /usr/local/sbin/pkg - not found
===>   Installing existing package /packages/All/pkg-1.19.1_1.pkg
[131amd64-default-job-02] Installing pkg-1.19.1_1...
[131amd64-default-job-02] Extracting pkg-1.19.1_1: .......... done
===>   perl5-5.32.1_3 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of perl5-5.32.1_3
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===>  License ART10 GPLv1+ accepted by the user
===> Fetching all distfiles required by perl5-5.32.1_3 for building
===========================================================================
=======================<phase: checksum       >============================
===>  License ART10 GPLv1+ accepted by the user
===> Fetching all distfiles required by perl5-5.32.1_3 for building
=> SHA256 Checksum OK for perl/perl-5.32.1.tar.xz.
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===>  License ART10 GPLv1+ accepted by the user
===> Fetching all distfiles required by perl5-5.32.1_3 for building
===>  Extracting for perl5-5.32.1_3
=> SHA256 Checksum OK for perl/perl-5.32.1.tar.xz.
/bin/ln -s libperl.so.5.32.1 /wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/libperl.so
/bin/ln -s libperl.so.5.32.1 /wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/libperl.so.5.32
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for perl5-5.32.1_3
===>  Applying FreeBSD patches for perl5-5.32.1_3 from /usr/ports/lang/perl5.32/files
/usr/bin/sed -i.bak -e 's|/usr/local|/usr/local|g'  /wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/Configure /wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/hints/freebsd.sh
===========================================================================
=======================<phase: build-depends  >============================
===>   perl5-5.32.1_3 depends on file: /usr/local/bin/ccache - not found
===>   Installing existing package /packages/All/ccache-3.7.12_4.pkg
[131amd64-default-job-02] Installing ccache-3.7.12_4...
[131amd64-default-job-02] Extracting ccache-3.7.12_4: ....... done
Create compiler links...
create symlink for cc
create symlink for cc (world)
create symlink for c++
create symlink for c++ (world)
create symlink for CC
create symlink for CC (world)
create symlink for clang
create symlink for clang (world)
create symlink for clang++
create symlink for clang++ (world)
=====
Message from ccache-3.7.12_4:

--
NOTE:
Please read /usr/local/share/doc/ccache/ccache-howto-freebsd.txt for
information on using ccache with FreeBSD ports and src.
===>   perl5-5.32.1_3 depends on file: /usr/local/bin/ccache - found
===>   Returning to build of perl5-5.32.1_3
===========================================================================
=======================<phase: lib-depends    >============================
===========================================================================
=======================<phase: configure      >============================
===>  Configuring for perl5-5.32.1_3
First let's make sure your kit is complete.  Checking...
Locating common programs...
Checking compatibility between /bin/echo and builtin echo (if any)...
Symbolic links are supported.
Checking how to test for symbolic links...
You can test for symbolic links with 'test -h'.
Checking for cross-compile
No targethost for running compiler tests against defined, running locally
Good, your tr supports [:lower:] and [:upper:] to convert case.
Using [:upper:] and [:lower:] to convert case.
aix   			greenhills   		os400   
aix_3   		haiku   		posix-bc   
aix_4   		hpux   			qnx   
altos486   		i386   			riscos   
amigaos   		interix   		sco   
atheos   		irix_4   		sco_2_3_0   
aux_3   		irix_5   		sco_2_3_1   
bitrig   		irix_6   		sco_2_3_2   
bsdos   		irix_6_0   		sco_2_3_3   
catamount   		irix_6_1   		sco_2_3_4   
convexos   		isc   			solaris_2   
cxux   			isc_2   		stellar   
cygwin   		linux-android   	sunos_4_0   
darwin   		linux   		sunos_4_1   
dcosx   		lynxos   		super-ux   
dec_osf   		midnightbsd   		svr4   
dos_djgpp   		minix   		svr5   
dragonfly   		mips   			ti1500   
dynix   		mirbsd   		ultrix_4   
dynixptx   		mpc   			umips   
epix   			ncr_tower   		unicos   
esix4   		netbsd   		unicosmk   
fps   			newsos4   		unisysdynix   
freebsd   		nonstopux   		utekv   
freemint   		openbsd   		uwin   
gnu   			opus   			vos   
gnukfreebsd   		os2   
gnuknetbsd   		os390   
Which of these apply, if any? [freebsd]  

Some users have reported that Configure halts when testing for
the O_NONBLOCK symbol with a syntax error.  This is apparently a
sh error.  Rerunning Configure with ksh apparently fixes the
problem.  Try
	ksh Configure [your options]

Operating system name? [freebsd]  
Operating system version? [13.1-release-p7]  
Installation prefix to use? (~name ok) [/usr/local]  
AFS does not seem to be running...
What installation prefix should I use for installing files? (~name ok)
[/usr/local]  
Getting the current patchlevel...
Build a threading Perl? [y]  
Use which C compiler? [cc]  
Checking for GNU cc in disguise and/or its version number...
Now, how can we feed standard input to your C preprocessor...
Directories to use for library searches?
[/usr/lib /usr/local/lib /usr/lib/clang/13.0.0/lib /usr/lib]  
What is the file extension used for shared libraries? [so]  
Make shared library basenames unique? [n]  
Build Perl for SOCKS? [n]  
Try to use long doubles if available? [n]  
Checking for optional libraries...
What libraries to use? [-lpthread -lm -lcrypt -lutil]  
What optimizer/debugger flag should be used?
[-O2 -pipe -fstack-protector-strong -fno-strict-aliasing ]  
Any additional cc flags?
[-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include]  
Let me guess what the preprocessor flags are...
Any additional ld flags (NOT including libraries)?
[-pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib]  
Checking your choice of C compiler and flags for coherency...
Checking to see how big your integers are...
Checking to see if you have long long...
Checking to see how big your long longs are...
Computing filename position in cpp output for #include directives...
<inttypes.h> found.
Checking to see if you have int64_t...
Checking which 64-bit integer type we could use...
We could use 'long' for 64-bit integers.
Try to use maximal 64-bit support, if available? [y]  
Checking if your C library has broken 64-bit functions...
Checking for GNU C Library...
Shall I use /usr/bin/nm to extract C symbols from the libraries? [n]  
Checking for C++...
Checking to see how big your double precision numbers are...
Checking to see if you have long double...
ldexpl() found.
Checking to see how big your long doubles are...
Checking the kind of long doubles you have...
You have x86 80-bit little endian long doubles.
What is your architecture name [amd64-freebsd]  
Add the Perl API version to your archname? [n]  
Threads selected.
...setting architecture name to amd64-freebsd-thread.
Multiplicity selected.
...setting architecture name to amd64-freebsd-thread-multi.
This architecture is naturally 64-bit, not changing architecture name.
Pathname where the public executables will reside? (~name ok)
[/usr/local/bin]  
Use relocatable @INC? [n]  
Pathname where the private library files will reside? (~name ok)
[/usr/local/lib/perl5/5.32]  
Where do you want to put the public architecture-dependent libraries? (~name ok)
[/usr/local/lib/perl5/5.32/mach]  
Other username to test security of setuid scripts with? [none]  
I'll assume setuid scripts are *not* secure.
Does your kernel have *secure* setuid scripts? [n]  
Installation prefix to use for add-on modules and utilities? (~name ok)
[/usr/local]  
Pathname for the site-specific library files? (~name ok)
[/usr/local/lib/perl5/site_perl]  
List of earlier versions to include in @INC? [none]  
<malloc/malloc.h> NOT found.
<malloc.h> found.
Hmm.  Based on the hints in hints/freebsd.sh, 
the recommended value for $i_malloc on this machine was "undef"!
    Keep the recommended value? [y]  
Checking to see how big your pointers are...
Do you wish to wrap malloc calls to protect against potential overflows? [y]  
Do you wish to attempt to use the malloc that comes with perl5? [n]  
Your system wants malloc to return 'void *', it would seem.
Your system uses void free(), it would seem.
Pathname for the site-specific architecture-dependent library files? (~name ok)
[/usr/local/lib/perl5/site_perl/mach/5.32]  
Do you want to configure vendor-specific add-on directories? [n]  
Colon-separated list of additional directories for perl to search? [none]  
Support DTrace if available? [y]  
Where is the dtrace executable? (~name ok) [/usr/sbin/dtrace]  
Install any extra modules (y or n)? [n]  
Directory for the main Perl5 html pages? (~name ok) [none]  
Directory for the Perl5 module html pages? (~name ok) [none]  
Do you want to install perl as /usr/bin/perl? [n]  
dlopen() found.
<unistd.h> found.
Do you wish to use dynamic loading? [y]  
Source file to use for dynamic loading [ext/DynaLoader/dl_dlopen.xs]  
Any special flags to pass to cc -c to compile shared library modules?
[-DPIC -fPIC]  
What command should be used to create dynamic libraries? [cc]  
Any special flags to pass to cc to create a dynamically loaded library?
[-shared  -L/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 -L/usr/local/lib/perl5/5.32/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong]  
Any special flags to pass to cc to use dynamic linking? [none]  
ld does not support scripting
Build a shared libperl.so (y/n) [y]  
What name do you want to give to the shared libperl? [libperl.so.5.32.1]  

Adding -Wl,-R/usr/local/lib/perl5/5.32/mach/CORE to the flags
passed to cc so that the perl executable will find the
installed shared libperl.so.5.32.1.

System manual is in /usr/share/man/man1.
Where do the main Perl5 manual pages (source) go? (~name ok)
[/usr/local/lib/perl5/5.32/perl/man/man1]  
What suffix should be used for the main Perl5 man pages? [1]  
You can have filenames longer than 14 characters.
Where do the perl5 library man pages (source) go? (~name ok)
[/usr/local/lib/perl5/5.32/perl/man/man3]  
What suffix should be used for the perl5 library man pages? [3]  
Figuring out host name...
Your host name appears to be "131amd64-default-job-02". Right? [y]  
What is your domain name? [.bayofrum.net]  
What is your e-mail address? [mat@FreeBSD.org]  
Perl administrator e-mail address [mat@FreeBSD.org]  
Do you want to use a version number suffix for installed binaries? [n]  
What shall I put after the #! to start up perl ("none" to not use #!)?
[/usr/local/bin/perl]  
Where do you keep publicly executable scripts? (~name ok) [/usr/local/bin]  
Pathname where the add-on public executables should be installed? (~name ok)
[/usr/local/bin]  
Pathname where the site-specific html pages should be installed? (~name ok)
[none]  
Pathname where the site-specific library html pages should be installed? (~name ok)
[none]  
Pathname where the site-specific manual pages should be installed? (~name ok)
[/usr/local/lib/perl5/site_perl/man/man1]  
Pathname where the site-specific library manual pages should be installed? (~name ok)
[/usr/local/lib/perl5/site_perl/man/man3]  
Pathname where add-on public executable scripts should be installed? (~name ok)
[/usr/local/bin]  
backtrace() NOT found.
Use the "fast stdio" if available? [n]  
off_t found.
Checking to see how big your file offsets are...
fpos_t found.
Checking the size of fpos_t...
qgcvt() NOT found.
Checking the kind of doubles you have...
You have IEEE 754 64-bit little endian doubles.
Checking how to print long doubles...
gconvert NOT found.
gcvt NOT found.
sprintf() found.
I'll use sprintf to convert floats into a string.
fwalk() NOT found.
accept4() found.
access() found.
<sys/file.h> defines the *_OK access constants.
accessx() NOT found.
acosh() found.
aintl() NOT found.
alarm() found.
ctime64() NOT found.
localtime64() NOT found.
gmtime64() NOT found.
mktime64() NOT found.
difftime64() NOT found.
asctime64() NOT found.
<pthread.h> found.
<sys/types.h> found.
<sys/select.h> found.
Testing to see if we should include <sys/time.h>.
We'll include <sys/time.h>.
Checking to see if your struct tm has tm_zone field...
Checking to see if your struct tm has tm_gmtoff field...
asctime_r() found.
asinh() found.
atanh() found.
atolf() NOT found.
atoll() found.
Checking whether your compiler can handle __attribute__((format)) ...
Checking whether your compiler can handle __attribute__((malloc)) ...
Checking whether your compiler can handle __attribute__((nonnull(1))) ...
Checking whether your compiler can handle __attribute__((noreturn)) ...
Checking whether your compiler can handle __attribute__((pure)) ...
Checking whether your compiler can handle __attribute__((unused)) ...
Checking whether your compiler can handle __attribute__((deprecated)) ...
Checking whether your compiler can handle __attribute__((warn_unused_result)) ...
Checking whether your compiler can handle __attribute__((always_inline)) ...
getpgrp() found.
You have to use getpgrp() instead of getpgrp(pid).
setpgrp() found.
You have to use setpgrp(pid,pgrp) instead of setpgrp().
Checking whether your compiler can handle __builtin_add_overflow ...
Checking whether your compiler can handle __builtin_sub_overflow ...
Checking whether your compiler can handle __builtin_mul_overflow ...
Checking whether your compiler can handle __builtin_choose_expr ...
Checking whether your compiler can handle __builtin_expect ...
Checking for C99 variadic macros.
You have C99 variadic macros.
You have void (*signal())().
Checking whether your C compiler can cast large floats to int32.
Checking whether your C compiler can cast negative float to unsigned.
cbrt() found.
chown() found.
chroot() found.
chsize() NOT found.
class() NOT found.
clearenv() NOT found.
Hmm... Looks like you have Berkeley networking support.
socketpair() found.
Checking the availability sa_len in the sock struct ...
Checking the availability struct sockaddr_in6 ...
Checking the availability struct sockaddr_storage ...
Checking the availability sin6_scope_id in struct sockaddr_in6 ...
Checking the availability struct ip_mreq ...
Checking the availability struct ip_mreq_source ...
Checking the availability struct ipv6_mreq ...
Checking the availability struct ipv6_mreq_source ...
Checking the availability of certain socket constants...
<sys/uio.h> found.
Checking to see if your system supports struct cmsghdr...
copysign() found.
copysignl() found.
crypt() found.
<crypt.h> NOT found.
crypt_r() found.
Hmm.  Based on the hints in hints/freebsd.sh, 
the recommended value for $d_crypt_r_proto on this machine was "define"!
    Keep the recommended value? [y]  
ctermid() found.
ctermid_r() found.
ctime_r() found.
cuserid() NOT found.
dbmclose() NOT found.
difftime() found.
<dirent.h> found.
Your directory entries are struct dirent.
Good, your directory entry keeps length information in d_namlen.
Checking to see if DIR has a dd_fd member variable
<sys/dir.h> NOT found.
<sys/ndir.h> NOT found.
dirfd() found.
dladdr() found.
dlerror() found.
<dlfcn.h> found.
What is the extension of dynamically loaded modules [so]  
Checking whether your dlsym() needs a leading underscore ...
I can't compile and run the test program.
I'm guessing that dlsym doesn't need a leading underscore.
drand48_r() NOT found.
dup2() found.
dup3() found.
<xlocale.h> found.
newlocale() found.
freelocale() found.
uselocale() found.
duplocale() found.
querylocale() found.
eaccess() found.
endgrent() found.
<grp.h> found.
endgrent_r() NOT found.
endhostent() found.
<netdb.h> found.
endhostent_r() NOT found.
endnetent() found.
endnetent_r() NOT found.
endprotoent() found.
endprotoent_r() NOT found.
endpwent() found.
<pwd.h> found.
endpwent_r() NOT found.
endservent() found.
endservent_r() NOT found.
<sys/file.h> defines the O_* constants...
and you have the 3 argument form of open().
<sys/file.h> found.
We'll be including <sys/file.h>.
<fcntl.h> found.
We don't need to include <fcntl.h> if we include <sys/file.h>.
fork() found.
pipe() found.
Figuring out the flag used by open() for non-blocking I/O...
Let's see what value errno gets from read() on a O_NONBLOCK file...
erf() found.
erfc() found.
exp2() found.
expm1() found.
Checking how std your stdio is...
Checking to see what happens if we set the stdio ptr...
Increasing ptr in your stdio leaves cnt unchanged.  Good.
You seem to have 'fast stdio' to directly manipulate the stdio buffers.
fchdir() found.
fchmod() found.
openat() found.
unlinkat() found.
renameat() found.
linkat() found.
fchmodat() found.
fchown() found.
fcntl() found.
Well, your system knows about the normal fd_set typedef...
and you have the normal fd_set macros (just as I'd expect).
fdclose() found.
fdim() found.
fegetround() found.
fgetpos() found.
finite() found.
finitel() NOT found.
flock() found.
fma() found.
fmax() found.
fmin() found.
fp_class() NOT found.
Checking to see if you have fpclassify...
fp_classify() NOT found.
fp_classl() NOT found.
pathconf() found.
fpathconf() found.
fpclass() NOT found.
fpclassl() NOT found.
fpgetround() found.
Checking to see if you have fpos64_t...
frexpl() found.
<sys/param.h> found.
<sys/mount.h> found.
Checking to see if your system supports struct fs_data...
fseeko() found.
fsetpos() found.
fstatfs() found.
statvfs() found.
fstatvfs() found.
fsync() found.
ftello() found.
Checking if you have a working futimes()
Yes, you have
A working gai_strerror() found.
<ndbm.h> found.
<gdbm/ndbm.h> NOT found.
<gdbm-ndbm.h> NOT found.
dbm_open() found.
Checking if your <ndbm.h> uses prototypes...
getaddrinfo() found.
getcwd() found.
getespwnam() NOT found.
getfsstat() found.
getgrent() found.
getgrent_r() found.
getgrgid_r() found.
getgrnam_r() found.
gethostbyaddr() found.
gethostbyname() found.
gethostent() found.
gethostname() found.
uname() found.
Shall I ignore gethostname() from now on? [n]  
gethostbyaddr_r() found.
gethostbyname_r() found.
gethostent_r() found.
getitimer() found.
getlogin() found.
getlogin_r() found.
getmnt() NOT found.
getmntent() NOT found.
getnameinfo() found.
getnetbyaddr() found.
getnetbyname() found.
getnetent() found.
getnetbyaddr_r() found.
getnetbyname_r() found.
getnetent_r() found.
getpagesize() found.
getprotobyname() found.
getprotobynumber() found.
getprotoent() found.
getpgid() found.
getpgrp2() NOT found.
getppid() found.
getpriority() found.
getprotobyname_r() found.
getprotobynumber_r() found.
getprotoent_r() found.
getprpwnam() NOT found.
getpwent() found.
getpwent_r() found.
getpwnam_r() found.
getpwuid_r() found.
getservbyname() found.
getservbyport() found.
getservent() found.
getservbyname_r() found.
getservbyport_r() found.
getservent_r() found.
getspnam() NOT found.
<shadow.h> NOT found.
getspnam_r() NOT found.
gettimeofday() found.
gmtime_r() found.
hasmntopt() NOT found.
<netinet/in.h> found.
<arpa/inet.h> found.
htonl() found.
hypot() found.
ilogb() found.
ilogbl() found.
inet_aton() found.
inet_ntop() found.
inet_pton() found.
isascii() found.
isblank() found.
Checking to see if you have isfinite...
isfinitel() NOT found.
Checking to see if you have isinf...
isinfl() NOT found.
Checking to see if you have isless...
Checking to see if you have isnan...
isnanl() NOT found.
Checking to see if you have isnormal...
j0() found.
j0l() NOT found.
killpg() found.
localeconv() found.
lchown() found.
LDBL_DIG found.
lgamma() found.
lgamma_r() found.
Checking to see if your libm supports _LIB_VERSION...
No, it does not (probably harmless)
link() found.
llrint() found.
llrintl() found.
llround() found.
llroundl() found.
localeconv_l() found.
localtime_r() found.
lockf() found.
log1p() found.
log2() found.
logb() found.
lrint() found.
lrintl() found.
lround() found.
lroundl() found.
lstat() found.
madvise() found.
malloc_size() NOT found.
malloc_good_size() NOT found.
malloc_usable_size() found.
mblen() found.
mbrlen() found.
mbrtowc() found.
mbstowcs() found.
mbtowc() found.
memmem() found.
memrchr() found.
mkdir() found.
mkdtemp() found.
mkfifo() found.
mkostemp() found.
mkstemp() found.
mkstemps() found.
mktime() found.
<sys/mman.h> found.
mmap() found.
and it returns (void *).
sqrtl() found.
scalbnl() found.
truncl() found.
modfl() found.
mprotect() found.
msgctl() found.
msgget() found.
msgsnd() found.
msgrcv() found.
You have the full msg*(2) library.
Checking to see if your system supports struct msghdr...
msync() found.
munmap() found.
nan() found.
nanosleep() found.
nearbyint() found.
nextafter() found.
nexttoward() found.
nice() found.
<langinfo.h> found.
nl_langinfo() found.
<quadmath.h> NOT found.
Choosing the C types to be used for Perl's internal types...
Checking how many bits of your UVs your NVs can preserve...
Checking to find the largest integer value your NVs can hold...
The largest integer your NVs can preserve is equal to 256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0
Checking whether NV 0.0 is all bits zero in memory...
0.0 is represented as all bits zero in memory
Checking to see if you have off64_t...
Checking what constant to use for creating joinable pthreads...
You seem to use PTHREAD_CREATE_JOINABLE.
pause() found.
pipe2() found.
poll() found.
prctl() NOT found.
readlink() found.
vfork() found.
Do you still want to use vfork()? [y]  
pthread_atfork found.
pthread_attr_setscope() found.
sched_yield() found.
pthread_yield() found.
Checking to see if you have ptrdiff_t...
random_r() NOT found.
readdir() found.
seekdir() found.
telldir() found.
rewinddir() found.
readdir64_r() NOT found.
readdir_r() found.
readv() found.
recvmsg() found.
regcomp() found.
remainder() found.
remquo() found.
rename() found.
rint() found.
rmdir() found.
round() found.
scalbn() found.
select() found.
semctl() found.
semget() found.
semop() found.
You have the full sem*(2) library.
You do not have union semun in <sys/sem.h>.
You can use union semun for semctl IPC_STAT.
You can also use struct semid_ds* for semctl IPC_STAT.
sendmsg() found.
setegid() found.
seteuid() found.
setgrent() found.
setgrent_r() NOT found.
sethostent() found.
sethostent_r() NOT found.
setitimer() found.
setlinebuf() found.
<locale.h> found.
<wctype.h> found.
towupper() found.
Your system has setlocale()...
and it seems sane
setlocale_r() NOT found.
setnetent() found.
setnetent_r() NOT found.
setprotoent() found.
setpgid() found.
setpgrp2() NOT found.
setpriority() found.
setproctitle() found.
setprotoent_r() NOT found.
setpwent() found.
setpwent_r() NOT found.
setregid() found.
setresgid() found.
setreuid() found.
setresuid() found.
setrgid() found.
setruid() found.
setservent() found.
setservent_r() NOT found.
setsid() found.
setvbuf() found.
shmctl() found.
shmget() found.
shmat() found.
and it returns (void *).
shmdt() found.
You have the full shm*(2) library.
sigaction() found.
pid_t found.
Checking if your siginfo_t has si_errno field...
Checking if your siginfo_t has si_pid field...
Checking if your siginfo_t has si_uid field...
Checking if your siginfo_t has si_addr field...
Checking if your siginfo_t has si_status field...
Checking if your siginfo_t has si_band field...
Checking if your siginfo_t has si_value field...
Checking if your siginfo_t has si_fd field...
<sunmath.h> NOT found.
Checking to see if you have signbit() available to work on double... Yes.
sigprocmask() found.
POSIX sigsetjmp found.
snprintf() found.
vsnprintf() found.
sockatmark() found.
socks5_init() NOT found.
srand48_r() NOT found.
srandom_r() NOT found.
stat() found.
<sys/stat.h> found.
Checking to see if your struct stat has st_blocks field...
<sys/vfs.h> NOT found.
<sys/statfs.h> NOT found.
Checking to see if your system supports struct statfs...
Checking to see if your struct statfs has f_flags field...
Your compiler supports static __inline__.
Checking how to access stdio streams by file descriptor number...
I can't figure out how to access stdio streams by file descriptor number.
strcoll() found.
strerror_l() found.
strerror_r() found.
strftime() found.
strlcat() found.
strlcpy() found.
strnlen() found.
strtod() found.
strtod_l() found.
strtol() found.
strtold() found.
strtold_l() found.
strtoll() found.
strtoq() found.
strtoul() found.
strtoull() found.
strtouq() found.
strxfrm() found.
symlink() found.
syscall() found.
sysconf() found.
system() found.
tcgetpgrp() found.
tcsetpgrp() found.
tgamma() found.
Your system has nl_langinfo_l()...
and it is thread-safe (just as I'd hoped).
define
time() found.
time_t found.
timegm() found.
<sys/times.h> found.
times() found.
clock_t found.
tmpnam_r() NOT found.
towlower() found.
trunc() found.
truncate() found.
ttyname_r() found.
tzname[] found.
(Testing for character data alignment may crash the test.  That's okay.)
It seems that you must access character data in an aligned manner.
ualarm() found.
umask() found.
unordered() NOT found.
unsetenv() found.
usleep() found.
ustat() NOT found.
closedir() found.
Checking whether closedir() returns a status...
wait4() found.
waitpid() found.
wcrtomb() found.
A working wcscmp() found.
wcstombs() found.
A working wcsxfrm() found.
wctomb() found.
writev() found.
Checking alignment constraints...
Doubles must be aligned on a how-many-byte boundary? [8]  
Checking how long a character is (in bits)...
What is the length of a character (in bits)? [8]  
Checking to see how your cpp does stuff like concatenate tokens...
Oh!  Smells like ANSI's been here.
<db.h> found.
Checking Berkeley DB version ...
Looks OK.
Checking return type needed for hash for Berkeley DB ...
Checking return type needed for prefix for Berkeley DB ...
Exclude . from @INC by default?  [y]  
Checking the kind of infinities and nans you have...
(The following tests may crash.  That's okay.)
Checking how many mantissa bits your doubles have...
Checking how many mantissa bits your long doubles have...
Checking how many mantissa bits your NVs have...
Using our internal random number implementation...
Determining whether or not we are on an EBCDIC system...
Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8.
Checking how to flush all pending stdio output...
Your fflush(NULL) works okay for output streams.
Let's see if it clobbers input pipes...
fflush(NULL) seems to behave okay with input streams.
Checking the size of gid_t...
Checking the sign of gid_t...
Checking how to print 64-bit integers...
Checking the format strings to be used for Perl's internal types...
Checking the format string to be used for gids...
getgroups() found.
setgroups() found.
What type pointer is the second argument to getgroups() and setgroups()?
[gid_t]  
Checking if your /usr/bin/make program sets $(MAKE)...
mode_t found.
It seems that va_copy() or similar will be needed.
size_t found.
What is the type for the 1st argument to gethostbyaddr? [char *]  
What is the type for the 2nd argument to gethostbyaddr? [size_t]  
What pager is used on your system? [/usr/bin/less -R]  
Checking how to generate random libraries on your machine...
Your select() operates on 64 bits at a time.
Generating a list of signal names and numbers...
Checking the size of size_t...
Checking to see if you have socklen_t...
<socks.h> NOT found.
I'll be using ssize_t for functions returning a byte count.
Checking the size of st_ino...
Checking the sign of st_ino...
Your stdio uses signed chars.
Checking the size of uid_t...
Checking the sign of uid_t...
Checking the format string to be used for uids...
Determining whether we can use sysctl with KERN_PROC_PATHNAME to find executing program...
You can use sysctl with KERN_PROC_PATHNAME to find the executing program.
Determining whether we can use _NSGetExecutablePath to find executing program...
I'm unable to compile the test program.
I'll assume no _NSGetExecutablePath here.
Which compiler compiler (byacc or yacc) shall I use? [/usr/bin/byacc]  
<bfd.h> NOT found.
<execinfo.h> found.
<fenv.h> found.
<fp.h> NOT found.
<fp_class.h> NOT found.
<gdbm.h> NOT found.
<ieeefp.h> found.
<libutil.h> found.
<mach/cthreads.h> NOT found.
<mntent.h> NOT found.
<net/errno.h> NOT found.
<netinet/tcp.h> found.
<poll.h> found.
<prot.h> NOT found.
Guessing which symbols your C compiler and preprocessor define...
You seem not to have gcc 4.* or later, not adding -D_FORTIFY_SOURCE.
tcsetattr() found.
You have POSIX termios.h... good!
<stdbool.h> found.
<stdint.h> found.
<sys/access.h> NOT found.
<sys/filio.h> found.
<sys/ioctl.h> found.
You have socket ioctls defined in <sys/sockio.h>.
<syslog.h> found.
<sys/mode.h> NOT found.
<sys/poll.h> found.
<sys/resource.h> found.
<sys/security.h> NOT found.
<sys/statvfs.h> found.
<sys/un.h> found.
<sys/utsname.h> found.
<sys/wait.h> found.
<ustat.h> NOT found.
<utime.h> found.
<vfork.h> NOT found.
<wchar.h> found.
Looking for extensions...
What extensions do you wish to load dynamically?
[B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd DB_File Data/Dumper Devel/PPPort Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc NDBM_File Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize XS/APItest XS/Typemap attributes mro re threads threads/shared]  
What extensions do you wish to load statically? [none]  
Stripping down executable paths...
Creating config.sh...
Doing variable substitutions on .SH files...
Extracting config.h (with variable substitutions)
cflags.SH: Adding -std=c89.
cflags.SH: Adding -Werror=pointer-arith.
cflags.SH: Adding -Wextra.
cflags.SH: Adding -Wc++-compat.
cflags.SH: Adding -Wwrite-strings.
cflags.SH: Adding -Werror=declaration-after-statement.
cflags.SH: cc       = cc
cflags.SH: ccflags  = -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include
cflags.SH: stdflags =  -std=c89
cflags.SH: optimize = -O2 -pipe -fstack-protector-strong -fno-strict-aliasing 
cflags.SH: warn     =  -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement
Extracting cflags (with variable substitutions)
Not re-extracting config.h
Extracting makedepend (with variable substitutions)
Extracting Makefile (with variable substitutions)
Extracting myconfig (with variable substitutions)
Extracting pod/Makefile (with variable substitutions)
Extracting Policy.sh (with variable substitutions)
Extracting runtests (with variable substitutions)
Run make depend now? [y]  
/usr/sbin/dtrace -xnolibs -h -s perldtrace.d -o perldtrace.h.in
sed -e '/const/!s/char \*/const char */g' perldtrace.h.in >perldtrace.h
rm -f perldtrace.h.in
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC generate_uudmap.c
cc -o generate_uudmap -pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib generate_uudmap.o -lpthread -lm -lcrypt -lutil
./generate_uudmap uudmap.h bitcount.h mg_data.h
sh ./makedepend MAKE="make" cflags
rm -f opmini.c
/bin/ln -s op.c opmini.c
rm -f perlmini.c
/bin/ln -s perl.c perlmini.c
echo av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro_core.c perl.c perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c taint.c toke.c util.c deb.c run.c universal.c pad.c globals.c keywords.c perlio.c perlapi.c numeric.c mathoms.c locale.c pp_pack.c pp_sort.c caretx.c dquote.c time64.c  miniperlmain.c opmini.c perlmini.c | tr ' ' '\n' >.clist
Finding dependencies for av.o
Finding dependencies for scope.o
Finding dependencies for op.o
Finding dependencies for doop.o
Finding dependencies for doio.o
Finding dependencies for dump.o
Finding dependencies for gv.o
Finding dependencies for hv.o
Finding dependencies for mg.o
Finding dependencies for reentr.o
Finding dependencies for mro_core.o
Finding dependencies for perl.o
Finding dependencies for perly.o
Finding dependencies for pp.o
Finding dependencies for pp_hot.o
Finding dependencies for pp_ctl.o
Finding dependencies for pp_sys.o
Finding dependencies for regcomp.o
Finding dependencies for regexec.o
Finding dependencies for utf8.o
Finding dependencies for sv.o
Finding dependencies for taint.o
Finding dependencies for toke.o
Finding dependencies for util.o
Finding dependencies for deb.o
Finding dependencies for run.o
Finding dependencies for universal.o
Finding dependencies for pad.o
Finding dependencies for globals.o
Finding dependencies for keywords.o
Finding dependencies for perlio.o
Finding dependencies for perlapi.o
Finding dependencies for numeric.o
Finding dependencies for mathoms.o
Finding dependencies for locale.o
Finding dependencies for pp_pack.o
Finding dependencies for pp_sort.o
Finding dependencies for caretx.o
Finding dependencies for dquote.o
Finding dependencies for time64.o
Finding dependencies for miniperlmain.o
Finding dependencies for opmini.o
Finding dependencies for perlmini.o
Updating makefile...
Now you must run 'make'.

If you compile perl5 on a different machine or from a different object
directory, copy the Policy.sh file from this object directory to the
new one before you run Configure -- this will help you with most of
the policy defaults.

===========================================================================
=======================<phase: build          >============================
===>  Building for perl5-5.32.1_3
echo @`sh  cflags "optimize='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing'" opmini.o` -DPIC -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c
@cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB opmini.c
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from op.c:163:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from op.c:167:
./invlist_inline.h:122:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./invlist_inline.h:122:5: note: '{' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
In file included from op.c:167:
./invlist_inline.h:122:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
./invlist_inline.h:122:5: note: ')' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:871:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:871:17: note: '{' token is here
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
op.c:871:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
op.c:871:17: note: ')' token is here
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:873:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:873:17: note: '{' token is here
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
op.c:873:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
op.c:873:17: note: ')' token is here
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:1000:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvREFCNT_inc_simple_void(gv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:1000:9: note: '{' token is here
        SvREFCNT_inc_simple_void(gv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
op.c:1000:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvREFCNT_inc_simple_void(gv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
op.c:1000:9: note: ')' token is here
        SvREFCNT_inc_simple_void(gv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:1401:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, OP_NULL);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:1401:5: note: '{' token is here
    OpTYPE_set(o, OP_NULL);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:1401:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, OP_NULL);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:1401:5: note: ')' token is here
    OpTYPE_set(o, OP_NULL);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:1412:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:1412:5: note: '{' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
op.c:1412:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
op.c:1412:5: note: ')' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:1423:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:1423:5: note: '{' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
op.c:1423:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
op.c:1423:5: note: ')' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:1636:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(logop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:1636:5: note: '{' token is here
    OpTYPE_set(logop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:1636:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(logop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:1636:5: note: ')' token is here
    OpTYPE_set(logop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2282:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_PREINC);  /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2282:13: note: '{' token is here
            OpTYPE_set(o, OP_PREINC);  /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2282:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_PREINC);  /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2282:13: note: ')' token is here
            OpTYPE_set(o, OP_PREINC);  /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2286:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_PREDEC);  /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2286:13: note: '{' token is here
            OpTYPE_set(o, OP_PREDEC);  /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2286:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_PREDEC);  /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2286:13: note: ')' token is here
            OpTYPE_set(o, OP_PREDEC);  /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2290:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_I_PREINC);        /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2290:13: note: '{' token is here
            OpTYPE_set(o, OP_I_PREINC);        /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2290:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_I_PREINC);        /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2290:13: note: ')' token is here
            OpTYPE_set(o, OP_I_PREINC);        /* pre-increment is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2294:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_I_PREDEC);        /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2294:13: note: '{' token is here
            OpTYPE_set(o, OP_I_PREDEC);        /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2294:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_I_PREDEC);        /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2294:13: note: ')' token is here
            OpTYPE_set(o, OP_I_PREDEC);        /* pre-decrement is faster */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2351:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_OR);
                    ^~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2351:21: note: '{' token is here
                    OpTYPE_set(o, OP_OR);
                    ^~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2351:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_OR);
                    ^~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2351:21: note: ')' token is here
                    OpTYPE_set(o, OP_OR);
                    ^~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:2353:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_AND);
                    ^~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:2353:21: note: '{' token is here
                    OpTYPE_set(o, OP_AND);
                    ^~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:2353:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_AND);
                    ^~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:2353:21: note: ')' token is here
                    OpTYPE_set(o, OP_AND);
                    ^~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:3068:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(BINOP,    op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:3068:5: note: '{' token is here
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(BINOP,    op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
op.c:3068:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(BINOP,    op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
op.c:3068:5: note: ')' token is here
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(BINOP,    op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:3070:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(LISTOP,   op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:3070:5: note: '{' token is here
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(LISTOP,   op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
op.c:3070:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(LISTOP,   op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
op.c:3070:5: note: ')' token is here
    STATIC_ASSERT_STMT(   STRUCT_OFFSET(LISTOP,   op_last)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:4105:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_LVAVREF);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:4105:17: note: '{' token is here
                OpTYPE_set(o, OP_LVAVREF);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:4105:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_LVAVREF);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:4105:17: note: ')' token is here
                OpTYPE_set(o, OP_LVAVREF);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:4168:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LVREFSLICE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:4168:13: note: '{' token is here
            OpTYPE_set(o, OP_LVREFSLICE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:4168:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LVREFSLICE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:4168:13: note: ')' token is here
            OpTYPE_set(o, OP_LVREFSLICE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:4204:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_LVREF);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:4204:9: note: '{' token is here
        OpTYPE_set(o, OP_LVREF);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:4204:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_LVREF);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:4204:9: note: ')' token is here
        OpTYPE_set(o, OP_LVREF);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:4298:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_RV2CV);            /* entersub => rv2cv */
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:4298:13: note: '{' token is here
            OpTYPE_set(o, OP_RV2CV);            /* entersub => rv2cv */
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:4298:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_RV2CV);            /* entersub => rv2cv */
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:4298:13: note: ')' token is here
            OpTYPE_set(o, OP_RV2CV);            /* entersub => rv2cv */
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:4891:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_RV2CV);             /* entersub => rv2cv */
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:4891:17: note: '{' token is here
                OpTYPE_set(o, OP_RV2CV);             /* entersub => rv2cv */
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:4891:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_RV2CV);             /* entersub => rv2cv */
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:4891:17: note: ')' token is here
                OpTYPE_set(o, OP_RV2CV);             /* entersub => rv2cv */
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5366:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5366:2: note: '{' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:5366:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:5366:2: note: ')' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5516:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5516:5: note: '{' token is here
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:5516:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:5516:5: note: ')' token is here
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5540:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5540:5: note: '{' token is here
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:5540:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:5540:5: note: ')' token is here
    OpTYPE_set(op, type);
    ^~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5546:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(nch, OP_NULL);
        ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5546:2: note: '{' token is here
        OpTYPE_set(nch, OP_NULL);
        ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:5546:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(nch, OP_NULL);
        ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:5546:2: note: ')' token is here
        OpTYPE_set(nch, OP_NULL);
        ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5640:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LEAVE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5640:13: note: '{' token is here
            OpTYPE_set(o, OP_LEAVE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:5640:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LEAVE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:5640:13: note: ')' token is here
            OpTYPE_set(o, OP_LEAVE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5644:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_SCOPE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5644:13: note: '{' token is here
            OpTYPE_set(o, OP_SCOPE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:5644:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_SCOPE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:5644:13: note: ')' token is here
            OpTYPE_set(o, OP_SCOPE);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5700:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_start, full);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5700:5: note: '{' token is here
    CALL_BLOCK_HOOKS(bhk_start, full);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:16: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
               ^
op.c:5700:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_start, full);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
    ^
op.c:5700:5: note: ')' token is here
    CALL_BLOCK_HOOKS(bhk_start, full);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:7: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5731:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_pre_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5731:5: note: '{' token is here
    CALL_BLOCK_HOOKS(bhk_pre_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:16: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
               ^
op.c:5731:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_pre_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
    ^
op.c:5731:5: note: ')' token is here
    CALL_BLOCK_HOOKS(bhk_pre_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:7: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5733:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5733:5: note: '{' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:5733:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:5733:5: note: ')' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5797:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_post_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5797:5: note: '{' token is here
    CALL_BLOCK_HOOKS(bhk_post_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:16: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
               ^
op.c:5797:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_post_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
    ^
op.c:5797:5: note: ')' token is here
    CALL_BLOCK_HOOKS(bhk_post_end, &retval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:7: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5850:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5850:2: note: '{' token is here
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:5850:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:5850:2: note: ')' token is here
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5905:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5905:3: note: '{' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
op.c:5905:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
op.c:5905:3: note: ')' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5906:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5906:3: note: '{' token is here
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
op.c:5906:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:5906:3: note: '{' token is here
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:5906:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:5906:3: note: ')' token is here
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:5906:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
op.c:5906:3: note: ')' token is here
                XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6033:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6033:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
op.c:6033:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
op.c:6033:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6039:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6039:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
op.c:6039:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
op.c:6039:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6175:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6175:6: note: '{' token is here
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
op.c:6175:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
op.c:6175:6: note: ')' token is here
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6183:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6183:2: note: '{' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
op.c:6183:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
op.c:6183:2: note: ')' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6278:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6278:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
op.c:6278:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
op.c:6278:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6297:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6297:2: note: '{' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
op.c:6297:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
op.c:6297:2: note: ')' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6301:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6301:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
op.c:6301:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
op.c:6301:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6308:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6308:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
op.c:6308:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
op.c:6308:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6322:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, OP_RV2AV);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6322:5: note: '{' token is here
    OpTYPE_set(o, OP_RV2AV);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6322:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, OP_RV2AV);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6322:5: note: ')' token is here
    OpTYPE_set(o, OP_RV2AV);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6501:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, type);
        ^~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6501:9: note: '{' token is here
        OpTYPE_set(o, type);
        ^~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6501:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, type);
        ^~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6501:9: note: ')' token is here
        OpTYPE_set(o, type);
        ^~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6599:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(listop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6599:5: note: '{' token is here
    OpTYPE_set(listop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6599:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(listop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6599:5: note: ')' token is here
    OpTYPE_set(listop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6654:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, type);
    ^~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6654:5: note: '{' token is here
    OpTYPE_set(o, type);
    ^~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6654:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(o, type);
    ^~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6654:5: note: ')' token is here
    OpTYPE_set(o, type);
    ^~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6708:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(unop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6708:5: note: '{' token is here
    OpTYPE_set(unop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6708:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(unop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6708:5: note: ')' token is here
    OpTYPE_set(unop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6804:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(methop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6804:5: note: '{' token is here
    OpTYPE_set(methop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6804:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(methop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6804:5: note: ')' token is here
    OpTYPE_set(methop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:6861:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(binop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:6861:5: note: '{' token is here
    OpTYPE_set(binop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:6861:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(binop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:6861:5: note: ')' token is here
    OpTYPE_set(binop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8111:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(pmop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8111:5: note: '{' token is here
    OpTYPE_set(pmop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:8111:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(pmop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:8111:5: note: ')' token is here
    OpTYPE_set(pmop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8152:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1352:2: note: expanded from macro 'SvEND_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8152:2: note: '{' token is here
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1352:13: note: expanded from macro 'SvEND_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
                   ^
op.c:8152:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8152:2: note: '{' token is here
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
op.c:8152:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
op.c:8152:2: note: ')' token is here
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8152:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:37: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                                                  ^
op.c:8152:2: note: ')' token is here
        SvEND_set(repointer_list, p);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1353:39: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                                                    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8366:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                LEAVE_SCOPE(floor);
                ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8366:3: note: '{' token is here
                LEAVE_SCOPE(floor);
                ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:8366:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                LEAVE_SCOPE(floor);
                ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:8366:3: note: ')' token is here
                LEAVE_SCOPE(floor);
                ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8375:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PM_SETRE(pm,
            ^~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8375:6: note: '{' token is here
            PM_SETRE(pm,
            ^~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
op.c:8375:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PM_SETRE(pm,
            ^~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
op.c:8375:6: note: ')' token is here
            PM_SETRE(pm,
            ^~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8399:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PM_SETRE(pm, re);
            ^~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8399:6: note: '{' token is here
            PM_SETRE(pm, re);
            ^~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
op.c:8399:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PM_SETRE(pm, re);
            ^~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
op.c:8399:6: note: ')' token is here
            PM_SETRE(pm, re);
            ^~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8410:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(PL_compcv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8410:3: note: '{' token is here
                SvREFCNT_inc_simple_void(PL_compcv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
op.c:8410:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(PL_compcv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
op.c:8410:3: note: ')' token is here
                SvREFCNT_inc_simple_void(PL_compcv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8417:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(cv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8417:3: note: '{' token is here
                SvREFCNT_inc_simple_void(cv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
op.c:8417:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(cv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
op.c:8417:3: note: ')' token is here
                SvREFCNT_inc_simple_void(cv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8485:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(PL_compcv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8485:6: note: '{' token is here
            SvREFCNT_inc_simple_void(PL_compcv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
op.c:8485:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(PL_compcv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
op.c:8485:6: note: ')' token is here
            SvREFCNT_inc_simple_void(PL_compcv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8602:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(svop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8602:5: note: '{' token is here
    OpTYPE_set(svop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:8602:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(svop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:8602:5: note: ')' token is here
    OpTYPE_set(svop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8658:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(padop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8658:5: note: '{' token is here
    OpTYPE_set(padop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:8658:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(padop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:8658:5: note: ')' token is here
    OpTYPE_set(padop, type);
    ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:8726:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(pvop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:8726:5: note: '{' token is here
    OpTYPE_set(pvop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:8726:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(pvop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:8726:5: note: ')' token is here
    OpTYPE_set(pvop, type);
    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:9145:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(condop, OP_ONCE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:9145:5: note: '{' token is here
    OpTYPE_set(condop, OP_ONCE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:9145:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(condop, OP_ONCE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:9145:5: note: ')' token is here
    OpTYPE_set(condop, OP_ONCE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:9408:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(cop, OP_DBSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:9408:9: note: '{' token is here
        OpTYPE_set(cop, OP_DBSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:9408:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(cop, OP_DBSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:9408:9: note: ')' token is here
        OpTYPE_set(cop, OP_DBSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:9411:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(cop, OP_NEXTSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:9411:9: note: '{' token is here
        OpTYPE_set(cop, OP_NEXTSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:9411:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(cop, OP_NEXTSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:9411:9: note: ')' token is here
        OpTYPE_set(cop, OP_NEXTSTATE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:9414:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CopHINTS_set(cop, PL_hints);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:586:28: note: expanded from macro 'CopHINTS_set'
#define CopHINTS_set(c, h)      STMT_START {                            \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:9414:5: note: '{' token is here
    CopHINTS_set(cop, PL_hints);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:586:39: note: expanded from macro 'CopHINTS_set'
#define CopHINTS_set(c, h)      STMT_START {                            \
                                           ^
op.c:9414:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CopHINTS_set(cop, PL_hints);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:588:5: note: expanded from macro 'CopHINTS_set'
                                } STMT_END
                                ^
op.c:9414:5: note: ')' token is here
    CopHINTS_set(cop, PL_hints);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:588:7: note: expanded from macro 'CopHINTS_set'
                                } STMT_END
                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:9457:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(*svp, PTR2IV(cop));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:9457:3: note: '{' token is here
                SvIV_set(*svp, PTR2IV(cop));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
op.c:9457:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(*svp, PTR2IV(cop));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
op.c:9457:3: note: ')' token is here
                SvIV_set(*svp, PTR2IV(cop));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:10091:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(loop, OP_ENTERLOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:10091:9: note: '{' token is here
        OpTYPE_set(loop, OP_ENTERLOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:10091:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(loop, OP_ENTERLOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:10091:9: note: ')' token is here
        OpTYPE_set(loop, OP_ENTERLOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:10150:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(sv, OP_RV2GV);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:10150:13: note: '{' token is here
            OpTYPE_set(sv, OP_RV2GV);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:10150:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(sv, OP_RV2GV);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:10150:13: note: ')' token is here
            OpTYPE_set(sv, OP_RV2GV);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:10604:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                sv_cathek(name, CvNAME_HEK(MUTABLE_CV(SvRV_const(gv))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:2: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:10604:3: note: '{' token is here
                sv_cathek(name, CvNAME_HEK(MUTABLE_CV(SvRV_const(gv))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:13: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
                   ^
op.c:10604:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                sv_cathek(name, CvNAME_HEK(MUTABLE_CV(SvRV_const(gv))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:2: note: expanded from macro 'sv_cathek'
        } STMT_END
        ^
op.c:10604:3: note: ')' token is here
                sv_cathek(name, CvNAME_HEK(MUTABLE_CV(SvRV_const(gv))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:4: note: expanded from macro 'sv_cathek'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:10835:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:10835:9: note: '{' token is here
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:10835:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:10835:9: note: ')' token is here
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:10837:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:10837:9: note: '{' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:10837:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:10837:9: note: ')' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11091:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11091:7: note: '{' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
op.c:11091:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
op.c:11091:7: note: ')' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11092:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11092:7: note: '{' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
op.c:11092:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11092:7: note: '{' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:11092:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:11092:7: note: ')' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11092:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
op.c:11092:7: note: ')' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11126:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11126:5: note: '{' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:11126:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:11126:5: note: ')' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11303:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11303:9: note: '{' token is here
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:11303:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:11303:9: note: ')' token is here
        SAVEFREEOP(o);
        ^~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11305:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11305:9: note: '{' token is here
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:11305:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:11305:9: note: ')' token is here
        SAVEFREEOP(proto);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11307:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11307:9: note: '{' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
op.c:11307:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
op.c:11307:9: note: ')' token is here
        SAVEFREEOP(attrs);
        ^~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11490:7: note: '{' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
op.c:11490:7: note: ')' token is here
                    prepare_SV_for_RV((SV *)gv);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11494:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(gv, const_sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11494:3: note: '{' token is here
                SvRV_set(gv, const_sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
op.c:11494:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(gv, const_sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
op.c:11494:3: note: ')' token is here
                SvRV_set(gv, const_sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11579:3: note: '{' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11579:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
op.c:11579:3: note: ')' token is here
                prepare_SV_for_RV((SV *)gv);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11583:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(gv, (SV *)cv);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11583:6: note: '{' token is here
            SvRV_set(gv, (SV *)cv);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
op.c:11583:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(gv, (SV *)cv);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
op.c:11583:6: note: ')' token is here
            SvRV_set(gv, (SV *)cv);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11662:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11662:7: note: '{' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
op.c:11662:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
op.c:11662:7: note: ')' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11663:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11663:7: note: '{' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
op.c:11663:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11663:7: note: '{' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:11663:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:11663:7: note: ')' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11663:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
op.c:11663:7: note: ')' token is here
                    XPUSHs(tmpstr);
                    ^~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11684:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11684:5: note: '{' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:11684:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:11684:5: note: ')' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11739:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            if (floor) LEAVE_SCOPE(floor);
                       ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11739:17: note: '{' token is here
            if (floor) LEAVE_SCOPE(floor);
                       ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:11739:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            if (floor) LEAVE_SCOPE(floor);
                       ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:11739:17: note: ')' token is here
            if (floor) LEAVE_SCOPE(floor);
                       ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11741:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11741:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
op.c:11741:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11741:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
op.c:11741:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
op.c:11741:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11741:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
op.c:11741:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REQUIRE);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11751:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11751:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
op.c:11751:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:11751:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
op.c:11751:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
op.c:11751:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:11751:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
op.c:11751:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12223:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12223:5: note: '{' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
op.c:12223:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
op.c:12223:5: note: ')' token is here
    LEAVE_SCOPE(floor);
    ^~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12270:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12270:9: note: '{' token is here
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12270:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12270:9: note: ')' token is here
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12275:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_RV2AV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12275:9: note: '{' token is here
        OpTYPE_set(o, OP_RV2AV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12275:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_RV2AV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12275:9: note: ')' token is here
        OpTYPE_set(o, OP_RV2AV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12296:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12296:9: note: '{' token is here
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12296:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12296:9: note: ')' token is here
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12301:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_RV2HV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12301:9: note: '{' token is here
        OpTYPE_set(o, OP_RV2HV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12301:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_RV2HV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12301:9: note: ')' token is here
        OpTYPE_set(o, OP_RV2HV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12322:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12322:9: note: '{' token is here
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12322:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12322:9: note: ')' token is here
        OpTYPE_set(o, OP_PADAV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12347:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12347:9: note: '{' token is here
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12347:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12347:9: note: ')' token is here
        OpTYPE_set(o, OP_PADHV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12361:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADCV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12361:9: note: '{' token is here
        OpTYPE_set(o, OP_PADCV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12361:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADCV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12361:9: note: ')' token is here
        OpTYPE_set(o, OP_PADCV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12374:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADSV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12374:9: note: '{' token is here
        OpTYPE_set(o, OP_PADSV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12374:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OpTYPE_set(o, OP_PADSV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12374:9: note: ')' token is here
        OpTYPE_set(o, OP_PADSV);
        ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12765:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LEAVETRY);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12765:13: note: '{' token is here
            OpTYPE_set(o, OP_LEAVETRY);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12765:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_LEAVETRY);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12765:13: note: ')' token is here
            OpTYPE_set(o, OP_LEAVETRY);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12922:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(kid, OP_GV);
            ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12922:13: note: '{' token is here
            OpTYPE_set(kid, OP_GV);
            ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:12922:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(kid, OP_GV);
            ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:12922:13: note: ')' token is here
            OpTYPE_set(kid, OP_GV);
            ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:12926:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATIC_ASSERT_STMT(sizeof(PADOP) <= sizeof(SVOP));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:12926:6: note: '{' token is here
            STATIC_ASSERT_STMT(sizeof(PADOP) <= sizeof(SVOP));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
op.c:12926:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATIC_ASSERT_STMT(sizeof(PADOP) <= sizeof(SVOP));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
op.c:12926:6: note: ')' token is here
            STATIC_ASSERT_STMT(sizeof(PADOP) <= sizeof(SVOP));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:13506:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(first, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:13506:13: note: '{' token is here
            OpTYPE_set(first, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:13506:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(first, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:13506:13: note: ')' token is here
            OpTYPE_set(first, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:13509:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(second, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:13509:13: note: '{' token is here
            OpTYPE_set(second, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:13509:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(second, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:13509:13: note: ')' token is here
            OpTYPE_set(second, OP_QR);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:13859:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1352:2: note: expanded from macro 'SvEND_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:13859:6: note: '{' token is here
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1352:13: note: expanded from macro 'SvEND_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
                   ^
op.c:13859:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:13859:6: note: '{' token is here
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
op.c:13859:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
op.c:13859:6: note: ')' token is here
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:3: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:13859:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:37: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                                                  ^
op.c:13859:6: note: ')' token is here
            SvEND_set(sv, end);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1353:39: note: expanded from macro 'SvEND_set'
                SvCUR_set(sv, (val) - SvPVX(sv)); } STMT_END
                                                    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:13939:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_SSELECT);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:13939:13: note: '{' token is here
            OpTYPE_set(o, OP_SSELECT);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:13939:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            OpTYPE_set(o, OP_SSELECT);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:13939:13: note: ')' token is here
            OpTYPE_set(o, OP_SSELECT);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:14225:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(kid, OP_SPLIT);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:14225:5: note: '{' token is here
    OpTYPE_set(kid, OP_SPLIT);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:14225:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OpTYPE_set(kid, OP_SPLIT);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:14225:5: note: ')' token is here
    OpTYPE_set(kid, OP_SPLIT);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:15244:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, orig_type == OP_EACH ? OP_AEACH
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:15244:17: note: '{' token is here
                OpTYPE_set(o, orig_type == OP_EACH ? OP_AEACH
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:15244:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, orig_type == OP_EACH ? OP_AEACH
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:15244:17: note: ')' token is here
                OpTYPE_set(o, orig_type == OP_EACH ? OP_AEACH
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17174:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(sizeof(OP) <= sizeof(BINOP));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17174:21: note: '{' token is here
                    STATIC_ASSERT_STMT(sizeof(OP) <= sizeof(BINOP));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
op.c:17174:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(sizeof(OP) <= sizeof(BINOP));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
op.c:17174:21: note: ')' token is here
                    STATIC_ASSERT_STMT(sizeof(OP) <= sizeof(BINOP));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17175:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_STUB);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17175:21: note: '{' token is here
                    OpTYPE_set(o, OP_STUB);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:17175:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_STUB);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:17175:21: note: ')' token is here
                    OpTYPE_set(o, OP_STUB);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17419:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_PADRANGE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17419:17: note: '{' token is here
                OpTYPE_set(o, OP_PADRANGE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:17419:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_PADRANGE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:17419:17: note: ')' token is here
                OpTYPE_set(o, OP_PADRANGE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17552:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_GVSV);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17552:21: note: '{' token is here
                    OpTYPE_set(o, OP_GVSV);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:17552:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OpTYPE_set(o, OP_GVSV);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:17552:21: note: ')' token is here
                    OpTYPE_set(o, OP_GVSV);
                    ^~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17560:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_RCATLINE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17560:17: note: '{' token is here
                OpTYPE_set(o, OP_RCATLINE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:17560:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_RCATLINE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:17560:17: note: ')' token is here
                OpTYPE_set(o, OP_RCATLINE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17595:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17595:6: note: '{' token is here
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17595:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17595:6: note: ')' token is here
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17613:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17613:6: note: '{' token is here
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17613:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17613:6: note: ')' token is here
            DEFER(cLOGOP->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17627:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOOP->op_lastop);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17627:6: note: '{' token is here
            DEFER(cLOOP->op_lastop);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17627:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOOP->op_lastop);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17627:6: note: ')' token is here
            DEFER(cLOOP->op_lastop);
            ^~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17632:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOPo->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17632:6: note: '{' token is here
            DEFER(cLOGOPo->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17632:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cLOGOPo->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17632:6: note: ')' token is here
            DEFER(cLOGOPo->op_other);
            ^~~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17643:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cPMOP->op_pmstashstartu.op_pmreplstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17643:6: note: '{' token is here
            DEFER(cPMOP->op_pmstashstartu.op_pmreplstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17643:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            DEFER(cPMOP->op_pmstashstartu.op_pmreplstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17643:6: note: ')' token is here
            DEFER(cPMOP->op_pmstashstartu.op_pmreplstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17673:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                DEFER(nullop->op_next);
                ^~~~~~~~~~~~~~~~~~~~~~
op.c:16699:3: note: expanded from macro 'DEFER'
  STMT_START { \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17673:17: note: '{' token is here
                DEFER(nullop->op_next);
                ^~~~~~~~~~~~~~~~~~~~~~
op.c:16699:14: note: expanded from macro 'DEFER'
  STMT_START { \
             ^
op.c:17673:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                DEFER(nullop->op_next);
                ^~~~~~~~~~~~~~~~~~~~~~
op.c:16708:3: note: expanded from macro 'DEFER'
  } STMT_END
  ^
op.c:17673:17: note: ')' token is here
                DEFER(nullop->op_next);
                ^~~~~~~~~~~~~~~~~~~~~~
op.c:16708:5: note: expanded from macro 'DEFER'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:17820:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_CONST);
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:5: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:17820:17: note: '{' token is here
                OpTYPE_set(o, OP_CONST);
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:661:16: note: expanded from macro 'OpTYPE_set'
    STMT_START {                                \
               ^
op.c:17820:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OpTYPE_set(o, OP_CONST);
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:5: note: expanded from macro 'OpTYPE_set'
    } STMT_END
    ^
op.c:17820:17: note: ')' token is here
                OpTYPE_set(o, OP_CONST);
                ^~~~~~~~~~~~~~~~~~~~~~~
op.c:664:7: note: expanded from macro 'OpTYPE_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18109:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XopENTRY_set(xop, xop_name, savepvn(pv, l));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:924:5: note: expanded from macro 'XopENTRY_set'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18109:2: note: '{' token is here
        XopENTRY_set(xop, xop_name, savepvn(pv, l));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:924:16: note: expanded from macro 'XopENTRY_set'
    STMT_START { \
               ^
op.c:18109:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XopENTRY_set(xop, xop_name, savepvn(pv, l));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:927:5: note: expanded from macro 'XopENTRY_set'
    } STMT_END
    ^
op.c:18109:2: note: ')' token is here
        XopENTRY_set(xop, xop_name, savepvn(pv, l));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:927:7: note: expanded from macro 'XopENTRY_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18114:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XopENTRY_set(xop, xop_desc, savepvn(pv, l));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:924:5: note: expanded from macro 'XopENTRY_set'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18114:6: note: '{' token is here
            XopENTRY_set(xop, xop_desc, savepvn(pv, l));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:924:16: note: expanded from macro 'XopENTRY_set'
    STMT_START { \
               ^
op.c:18114:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XopENTRY_set(xop, xop_desc, savepvn(pv, l));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:927:5: note: expanded from macro 'XopENTRY_set'
    } STMT_END
    ^
op.c:18114:6: note: ')' token is here
            XopENTRY_set(xop, xop_desc, savepvn(pv, l));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:927:7: note: expanded from macro 'XopENTRY_set'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18501:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_CHECK_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~
./op.h:1066:32: note: expanded from macro 'OP_CHECK_MUTEX_LOCK'
#  define OP_CHECK_MUTEX_LOCK           MUTEX_LOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18501:5: note: '{' token is here
    OP_CHECK_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~
./op.h:1066:32: note: expanded from macro 'OP_CHECK_MUTEX_LOCK'
#  define OP_CHECK_MUTEX_LOCK           MUTEX_LOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
op.c:18501:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_CHECK_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~
./op.h:1066:32: note: expanded from macro 'OP_CHECK_MUTEX_LOCK'
#  define OP_CHECK_MUTEX_LOCK           MUTEX_LOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
op.c:18501:5: note: ')' token is here
    OP_CHECK_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~
./op.h:1066:32: note: expanded from macro 'OP_CHECK_MUTEX_LOCK'
#  define OP_CHECK_MUTEX_LOCK           MUTEX_LOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18506:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_CHECK_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~
./op.h:1067:34: note: expanded from macro 'OP_CHECK_MUTEX_UNLOCK'
#  define OP_CHECK_MUTEX_UNLOCK         MUTEX_UNLOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18506:5: note: '{' token is here
    OP_CHECK_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~
./op.h:1067:34: note: expanded from macro 'OP_CHECK_MUTEX_UNLOCK'
#  define OP_CHECK_MUTEX_UNLOCK         MUTEX_UNLOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
op.c:18506:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_CHECK_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~
./op.h:1067:34: note: expanded from macro 'OP_CHECK_MUTEX_UNLOCK'
#  define OP_CHECK_MUTEX_UNLOCK         MUTEX_UNLOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
op.c:18506:5: note: ')' token is here
    OP_CHECK_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~
./op.h:1067:34: note: expanded from macro 'OP_CHECK_MUTEX_UNLOCK'
#  define OP_CHECK_MUTEX_UNLOCK         MUTEX_UNLOCK(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18519:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18519:2: note: '{' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
op.c:18519:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
op.c:18519:2: note: ')' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18521:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(sp, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18521:5: note: '{' token is here
    EXTEND(sp, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:18521:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(sp, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:18521:5: note: ')' token is here
    EXTEND(sp, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18523:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18523:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
op.c:18523:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
op.c:18523:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18535:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18535:2: note: '{' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
op.c:18535:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
op.c:18535:2: note: ')' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18541:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18541:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:18541:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:18541:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18543:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18543:2: note: '{' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
op.c:18543:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
op.c:18543:2: note: ')' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18545:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18545:5: note: '{' token is here
    EXTEND(SP, AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
op.c:18545:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
op.c:18545:5: note: ')' token is here
    EXTEND(SP, AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
op.c:18547:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
op.c:18547:5: note: '{' token is here
    XSRETURN(AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
op.c:18547:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
op.c:18547:5: note: ')' token is here
    XSRETURN(AvFILLp(av)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
388 warnings generated.
echo @`sh  cflags "optimize='-O2 -pipe -fstack-protector-strong -fno-strict-aliasing'" perlmini.o` -DPIC -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
@cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC -DPERL_IS_MINIPERL -DPERL_EXTERNAL_GLOB perlmini.c
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from perl.c:38:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:92:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:339:5: note: expanded from macro 'ALLOC_THREAD_KEY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:92:2: note: '{' token is here
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:339:16: note: expanded from macro 'ALLOC_THREAD_KEY'
    STMT_START {                                                \
               ^
perl.c:92:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:341:13: note: expanded from macro 'ALLOC_THREAD_KEY'
            PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:92:2: note: '{' token is here
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:341:13: note: expanded from macro 'ALLOC_THREAD_KEY'
            PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
perl.c:92:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:341:13: note: expanded from macro 'ALLOC_THREAD_KEY'
            PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
perl.c:92:2: note: ')' token is here
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:341:13: note: expanded from macro 'ALLOC_THREAD_KEY'
            PERL_UNUSED_RESULT(write(2, STR_WITH_LEN("panic: pthread_key_create failed\n"))); \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:92:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:344:5: note: expanded from macro 'ALLOC_THREAD_KEY'
    } STMT_END
    ^
perl.c:92:2: note: ')' token is here
        ALLOC_THREAD_KEY;
        ^~~~~~~~~~~~~~~~
./thread.h:344:7: note: expanded from macro 'ALLOC_THREAD_KEY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:93:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:93:2: note: '{' token is here
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
perl.c:93:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
perl.c:93:2: note: ')' token is here
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:94:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OP_REFCNT_INIT;
        ^~~~~~~~~~~~~~
./op.h:595:27: note: expanded from macro 'OP_REFCNT_INIT'
#  define OP_REFCNT_INIT                MUTEX_INIT(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:94:2: note: '{' token is here
        OP_REFCNT_INIT;
        ^~~~~~~~~~~~~~
./op.h:595:27: note: expanded from macro 'OP_REFCNT_INIT'
#  define OP_REFCNT_INIT                MUTEX_INIT(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:94:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OP_REFCNT_INIT;
        ^~~~~~~~~~~~~~
./op.h:595:27: note: expanded from macro 'OP_REFCNT_INIT'
#  define OP_REFCNT_INIT                MUTEX_INIT(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:94:2: note: ')' token is here
        OP_REFCNT_INIT;
        ^~~~~~~~~~~~~~
./op.h:595:27: note: expanded from macro 'OP_REFCNT_INIT'
#  define OP_REFCNT_INIT                MUTEX_INIT(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:95:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OP_CHECK_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~
./op.h:1065:32: note: expanded from macro 'OP_CHECK_MUTEX_INIT'
#  define OP_CHECK_MUTEX_INIT           MUTEX_INIT(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:95:2: note: '{' token is here
        OP_CHECK_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~
./op.h:1065:32: note: expanded from macro 'OP_CHECK_MUTEX_INIT'
#  define OP_CHECK_MUTEX_INIT           MUTEX_INIT(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:95:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        OP_CHECK_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~
./op.h:1065:32: note: expanded from macro 'OP_CHECK_MUTEX_INIT'
#  define OP_CHECK_MUTEX_INIT           MUTEX_INIT(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:95:2: note: ')' token is here
        OP_CHECK_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~
./op.h:1065:32: note: expanded from macro 'OP_CHECK_MUTEX_INIT'
#  define OP_CHECK_MUTEX_INIT           MUTEX_INIT(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:96:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        KEYWORD_PLUGIN_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6264:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_INIT'
#  define KEYWORD_PLUGIN_MUTEX_INIT    MUTEX_INIT(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:96:9: note: '{' token is here
        KEYWORD_PLUGIN_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6264:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_INIT'
#  define KEYWORD_PLUGIN_MUTEX_INIT    MUTEX_INIT(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:96:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        KEYWORD_PLUGIN_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6264:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_INIT'
#  define KEYWORD_PLUGIN_MUTEX_INIT    MUTEX_INIT(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:96:9: note: ')' token is here
        KEYWORD_PLUGIN_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6264:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_INIT'
#  define KEYWORD_PLUGIN_MUTEX_INIT    MUTEX_INIT(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:97:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_INIT;
        ^~~~~~~~~~~~~~~~~
./hv.h:630:30: note: expanded from macro 'HINTS_REFCNT_INIT'
#  define HINTS_REFCNT_INIT             MUTEX_INIT(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:97:2: note: '{' token is here
        HINTS_REFCNT_INIT;
        ^~~~~~~~~~~~~~~~~
./hv.h:630:30: note: expanded from macro 'HINTS_REFCNT_INIT'
#  define HINTS_REFCNT_INIT             MUTEX_INIT(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:97:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_INIT;
        ^~~~~~~~~~~~~~~~~
./hv.h:630:30: note: expanded from macro 'HINTS_REFCNT_INIT'
#  define HINTS_REFCNT_INIT             MUTEX_INIT(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:97:2: note: ')' token is here
        HINTS_REFCNT_INIT;
        ^~~~~~~~~~~~~~~~~
./hv.h:630:30: note: expanded from macro 'HINTS_REFCNT_INIT'
#  define HINTS_REFCNT_INIT             MUTEX_INIT(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:99:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        USER_PROP_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6268:35: note: expanded from macro 'USER_PROP_MUTEX_INIT'
#  define USER_PROP_MUTEX_INIT    MUTEX_INIT(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:99:9: note: '{' token is here
        USER_PROP_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6268:35: note: expanded from macro 'USER_PROP_MUTEX_INIT'
#  define USER_PROP_MUTEX_INIT    MUTEX_INIT(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:99:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        USER_PROP_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6268:35: note: expanded from macro 'USER_PROP_MUTEX_INIT'
#  define USER_PROP_MUTEX_INIT    MUTEX_INIT(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:99:9: note: ')' token is here
        USER_PROP_MUTEX_INIT;
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6268:35: note: expanded from macro 'USER_PROP_MUTEX_INIT'
#  define USER_PROP_MUTEX_INIT    MUTEX_INIT(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:100:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ENV_INIT;
        ^~~~~~~~
./perl.h:2926:31: note: expanded from macro 'ENV_INIT'
#  define ENV_INIT            MUTEX_INIT(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:100:9: note: '{' token is here
        ENV_INIT;
        ^~~~~~~~
./perl.h:2926:31: note: expanded from macro 'ENV_INIT'
#  define ENV_INIT            MUTEX_INIT(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:100:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ENV_INIT;
        ^~~~~~~~
./perl.h:2926:31: note: expanded from macro 'ENV_INIT'
#  define ENV_INIT            MUTEX_INIT(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:100:9: note: ')' token is here
        ENV_INIT;
        ^~~~~~~~
./perl.h:2926:31: note: expanded from macro 'ENV_INIT'
#  define ENV_INIT            MUTEX_INIT(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:101:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_INIT(&PL_dollarzero_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:101:2: note: '{' token is here
        MUTEX_INIT(&PL_dollarzero_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:101:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_INIT(&PL_dollarzero_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:101:2: note: ')' token is here
        MUTEX_INIT(&PL_dollarzero_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:102:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_INIT(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:102:2: note: '{' token is here
        MUTEX_INIT(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:102:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_INIT(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:102:2: note: ')' token is here
        MUTEX_INIT(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:111:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:111:2: note: '{' token is here
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
perl.c:111:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
perl.c:111:2: note: ')' token is here
        PERL_SET_THX(my_perl);
        ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:127:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SYS_INIT_BODY(argc, argv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:127:5: note: '{' token is here
    PERL_SYS_INIT_BODY(argc, argv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:127:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SYS_INIT_BODY(argc, argv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:127:5: note: ')' token is here
    PERL_SYS_INIT_BODY(argc, argv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:140:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SYS_INIT3_BODY(argc, argv, env);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3044:49: note: expanded from macro 'PERL_SYS_INIT3_BODY'
#  define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:5: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:140:5: note: '{' token is here
    PERL_SYS_INIT3_BODY(argc, argv, env);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3044:49: note: expanded from macro 'PERL_SYS_INIT3_BODY'
#  define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:197:16: note: expanded from macro 'MUTEX_INIT'
    STMT_START {                                                \
               ^
perl.c:140:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SYS_INIT3_BODY(argc, argv, env);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3044:49: note: expanded from macro 'PERL_SYS_INIT3_BODY'
#  define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:5: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
    ^
perl.c:140:5: note: ')' token is here
    PERL_SYS_INIT3_BODY(argc, argv, env);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3044:49: note: expanded from macro 'PERL_SYS_INIT3_BODY'
#  define PERL_SYS_INIT3_BODY(argvp,argcp,envp) PERL_SYS_INIT_BODY(argvp,argcp)
                                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./unixish.h:151:44: note: expanded from macro 'PERL_SYS_INIT_BODY'
        MALLOC_CHECK_TAINT2(*c,*v) PERL_FPU_INIT; PERLIO_INIT; MALLOC_INIT
                                                  ^~~~~~~~~~~
./perl.h:4526:23: note: expanded from macro 'PERLIO_INIT'
#  define PERLIO_INIT MUTEX_INIT(&PL_perlio_mutex)
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:202:7: note: expanded from macro 'MUTEX_INIT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
    ^~~~~~~~~~~~~~~~~
./hv.h:631:30: note: expanded from macro 'HINTS_REFCNT_TERM'
#  define HINTS_REFCNT_TERM             MUTEX_DESTROY(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
    ^~~~~~~~~~~~~~~~~
./hv.h:631:30: note: expanded from macro 'HINTS_REFCNT_TERM'
#  define HINTS_REFCNT_TERM             MUTEX_DESTROY(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
    ^~~~~~~~~~~~~~~~~
./hv.h:631:30: note: expanded from macro 'HINTS_REFCNT_TERM'
#  define HINTS_REFCNT_TERM             MUTEX_DESTROY(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
    ^~~~~~~~~~~~~~~~~
./hv.h:631:30: note: expanded from macro 'HINTS_REFCNT_TERM'
#  define HINTS_REFCNT_TERM             MUTEX_DESTROY(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:24: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6267:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_TERM'
#  define KEYWORD_PLUGIN_MUTEX_TERM    MUTEX_DESTROY(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:24: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6267:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_TERM'
#  define KEYWORD_PLUGIN_MUTEX_TERM    MUTEX_DESTROY(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:24: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6267:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_TERM'
#  define KEYWORD_PLUGIN_MUTEX_TERM    MUTEX_DESTROY(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:156:24: note: expanded from macro 'PERL_SYS_TERM_BODY'
    HINTS_REFCNT_TERM; KEYWORD_PLUGIN_MUTEX_TERM;      \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6267:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_TERM'
#  define KEYWORD_PLUGIN_MUTEX_TERM    MUTEX_DESTROY(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
    ^~~~~~~~~~~~~~~~~~~
./op.h:1068:32: note: expanded from macro 'OP_CHECK_MUTEX_TERM'
#  define OP_CHECK_MUTEX_TERM           MUTEX_DESTROY(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
    ^~~~~~~~~~~~~~~~~~~
./op.h:1068:32: note: expanded from macro 'OP_CHECK_MUTEX_TERM'
#  define OP_CHECK_MUTEX_TERM           MUTEX_DESTROY(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
    ^~~~~~~~~~~~~~~~~~~
./op.h:1068:32: note: expanded from macro 'OP_CHECK_MUTEX_TERM'
#  define OP_CHECK_MUTEX_TERM           MUTEX_DESTROY(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
    ^~~~~~~~~~~~~~~~~~~
./op.h:1068:32: note: expanded from macro 'OP_CHECK_MUTEX_TERM'
#  define OP_CHECK_MUTEX_TERM           MUTEX_DESTROY(&PL_check_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:26: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                         ^~~~~~~~~~~~~~
./op.h:603:27: note: expanded from macro 'OP_REFCNT_TERM'
#  define OP_REFCNT_TERM                MUTEX_DESTROY(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:26: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                         ^~~~~~~~~~~~~~
./op.h:603:27: note: expanded from macro 'OP_REFCNT_TERM'
#  define OP_REFCNT_TERM                MUTEX_DESTROY(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:26: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                         ^~~~~~~~~~~~~~
./op.h:603:27: note: expanded from macro 'OP_REFCNT_TERM'
#  define OP_REFCNT_TERM                MUTEX_DESTROY(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:26: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                         ^~~~~~~~~~~~~~
./op.h:603:27: note: expanded from macro 'OP_REFCNT_TERM'
#  define OP_REFCNT_TERM                MUTEX_DESTROY(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4528:2: note: expanded from macro 'PERLIO_TERM'
        STMT_START {                            \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4528:13: note: expanded from macro 'PERLIO_TERM'
        STMT_START {                            \
                   ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4530:3: note: expanded from macro 'PERLIO_TERM'
                MUTEX_DESTROY(&PL_perlio_mutex);\
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4530:3: note: expanded from macro 'PERLIO_TERM'
                MUTEX_DESTROY(&PL_perlio_mutex);\
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4530:3: note: expanded from macro 'PERLIO_TERM'
                MUTEX_DESTROY(&PL_perlio_mutex);\
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4530:3: note: expanded from macro 'PERLIO_TERM'
                MUTEX_DESTROY(&PL_perlio_mutex);\
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4531:2: note: expanded from macro 'PERLIO_TERM'
        } STMT_END
        ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:157:42: note: expanded from macro 'PERL_SYS_TERM_BODY'
    OP_CHECK_MUTEX_TERM; OP_REFCNT_TERM; PERLIO_TERM;  \
                                         ^~~~~~~~~~~
./perl.h:4531:4: note: expanded from macro 'PERLIO_TERM'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:158:31: note: expanded from macro 'PERL_SYS_TERM_BODY'
    MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM;    \
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:6271:35: note: expanded from macro 'USER_PROP_MUTEX_TERM'
#  define USER_PROP_MUTEX_TERM    MUTEX_DESTROY(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:158:31: note: expanded from macro 'PERL_SYS_TERM_BODY'
    MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM;    \
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:6271:35: note: expanded from macro 'USER_PROP_MUTEX_TERM'
#  define USER_PROP_MUTEX_TERM    MUTEX_DESTROY(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:158:31: note: expanded from macro 'PERL_SYS_TERM_BODY'
    MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM;    \
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:6271:35: note: expanded from macro 'USER_PROP_MUTEX_TERM'
#  define USER_PROP_MUTEX_TERM    MUTEX_DESTROY(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:158:31: note: expanded from macro 'PERL_SYS_TERM_BODY'
    MALLOC_TERM; LOCALE_TERM; USER_PROP_MUTEX_TERM;    \
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:6271:35: note: expanded from macro 'USER_PROP_MUTEX_TERM'
#  define USER_PROP_MUTEX_TERM    MUTEX_DESTROY(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:148:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:159:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    ENV_TERM;
    ^~~~~~~~
./perl.h:2927:31: note: expanded from macro 'ENV_TERM'
#  define ENV_TERM            MUTEX_DESTROY(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:5: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:148:2: note: '{' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:159:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    ENV_TERM;
    ^~~~~~~~
./perl.h:2927:31: note: expanded from macro 'ENV_TERM'
#  define ENV_TERM            MUTEX_DESTROY(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:230:16: note: expanded from macro 'MUTEX_DESTROY'
    STMT_START {                                                \
               ^
perl.c:148:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:159:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    ENV_TERM;
    ^~~~~~~~
./perl.h:2927:31: note: expanded from macro 'ENV_TERM'
#  define ENV_TERM            MUTEX_DESTROY(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:5: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
    ^
perl.c:148:2: note: ')' token is here
        PERL_SYS_TERM_BODY();
        ^~~~~~~~~~~~~~~~~~~~
./unixish.h:159:5: note: expanded from macro 'PERL_SYS_TERM_BODY'
    ENV_TERM;
    ^~~~~~~~
./perl.h:2927:31: note: expanded from macro 'ENV_TERM'
#  define ENV_TERM            MUTEX_DESTROY(&PL_env_mutex);
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:235:7: note: expanded from macro 'MUTEX_DESTROY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:281:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_BOOTSTRAP;
    ^~~~~~~~~~~~~~~~
./cop.h:67:5: note: expanded from macro 'JMPENV_BOOTSTRAP'
    STMT_START {                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:281:5: note: '{' token is here
    JMPENV_BOOTSTRAP;
    ^~~~~~~~~~~~~~~~
./cop.h:67:16: note: expanded from macro 'JMPENV_BOOTSTRAP'
    STMT_START {                                \
               ^
perl.c:281:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_BOOTSTRAP;
    ^~~~~~~~~~~~~~~~
./cop.h:75:5: note: expanded from macro 'JMPENV_BOOTSTRAP'
    } STMT_END
    ^
perl.c:281:5: note: ')' token is here
    JMPENV_BOOTSTRAP;
    ^~~~~~~~~~~~~~~~
./cop.h:75:7: note: expanded from macro 'JMPENV_BOOTSTRAP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:343:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_HASH_SEED_STATE(PERL_HASH_SEED,PL_hash_state);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:115:42: note: expanded from macro 'PERL_HASH_SEED_STATE'
#define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:343:9: note: '{' token is here
        PERL_HASH_SEED_STATE(PERL_HASH_SEED,PL_hash_state);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:115:42: note: expanded from macro 'PERL_HASH_SEED_STATE'
#define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
perl.c:343:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_HASH_SEED_STATE(PERL_HASH_SEED,PL_hash_state);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:115:42: note: expanded from macro 'PERL_HASH_SEED_STATE'
#define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
perl.c:343:9: note: ')' token is here
        PERL_HASH_SEED_STATE(PERL_HASH_SEED,PL_hash_state);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:115:42: note: expanded from macro 'PERL_HASH_SEED_STATE'
#define PERL_HASH_SEED_STATE(seed,state) _PERL_HASH_SEED_STATE(seed,state)
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:641:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(x);
        ^~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:641:9: note: '{' token is here
        JMPENV_PUSH(x);
        ^~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:641:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(x);
        ^~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:641:9: note: ')' token is here
        JMPENV_PUSH(x);
        ^~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:647:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:647:9: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:647:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:647:9: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1251:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1251:5: note: '{' token is here
    free_and_set_cop_warnings(&PL_compiling, NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
perl.c:1251:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
perl.c:1251:5: note: ')' token is here
    free_and_set_cop_warnings(&PL_compiling, NULL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1526:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1526:2: note: '{' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
perl.c:1526:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1526:2: note: '{' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
perl.c:1526:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
perl.c:1526:2: note: ')' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1526:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1526:2: note: '{' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
perl.c:1526:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
perl.c:1526:2: note: ')' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1526:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
perl.c:1526:2: note: ')' token is here
        SvPV_free(PL_mess_sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1620:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FREE_THREAD_KEY;
        ^~~~~~~~~~~~~~~
./thread.h:349:5: note: expanded from macro 'FREE_THREAD_KEY'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1620:2: note: '{' token is here
        FREE_THREAD_KEY;
        ^~~~~~~~~~~~~~~
./thread.h:349:16: note: expanded from macro 'FREE_THREAD_KEY'
    STMT_START {                                                \
               ^
perl.c:1620:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FREE_THREAD_KEY;
        ^~~~~~~~~~~~~~~
./thread.h:351:5: note: expanded from macro 'FREE_THREAD_KEY'
    } STMT_END
    ^
perl.c:1620:2: note: ')' token is here
        FREE_THREAD_KEY;
        ^~~~~~~~~~~~~~~
./thread.h:351:7: note: expanded from macro 'FREE_THREAD_KEY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1869:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1869:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:1869:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:1869:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:1914:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:1914:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:1914:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:1914:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2056:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, entries);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2056:5: note: '{' token is here
    EXTEND(SP, entries);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
perl.c:2056:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, entries);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
perl.c:2056:5: note: ')' token is here
    EXTEND(SP, entries);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2069:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(entries);
    ^~~~~~~~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2069:5: note: '{' token is here
    XSRETURN(entries);
    ^~~~~~~~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
perl.c:2069:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(entries);
    ^~~~~~~~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
perl.c:2069:5: note: ')' token is here
    XSRETURN(entries);
    ^~~~~~~~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2662:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2662:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:2662:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:2662:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2689:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1121:5: note: expanded from macro 'POPSTACK_TO'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2689:6: note: '{' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1121:16: note: expanded from macro 'POPSTACK_TO'
    STMT_START {                                                        \
               ^
perl.c:2689:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2689:6: note: '{' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
perl.c:2689:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2689:6: note: '{' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
perl.c:2689:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
perl.c:2689:6: note: ')' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2689:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
perl.c:2689:6: note: ')' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2689:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1126:5: note: expanded from macro 'POPSTACK_TO'
    } STMT_END
    ^
perl.c:2689:6: note: ')' token is here
            POPSTACK_TO(PL_mainstack);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1126:7: note: expanded from macro 'POPSTACK_TO'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2698:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2698:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:2698:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:2698:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2911:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2911:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
perl.c:2911:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
perl.c:2911:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2913:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2913:9: note: '{' token is here
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
perl.c:2913:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:2913:9: note: '{' token is here
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
perl.c:2913:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
perl.c:2913:9: note: ')' token is here
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:2913:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
perl.c:2913:9: note: ')' token is here
        mXPUSHs(newSVpv(*argv,0));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3026:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3026:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
perl.c:3026:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
perl.c:3026:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3058:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CATCH_SET(TRUE);
        ^~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3058:2: note: '{' token is here
        CATCH_SET(TRUE);
        ^~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
perl.c:3058:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CATCH_SET(TRUE);
        ^~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
perl.c:3058:2: note: ')' token is here
        CATCH_SET(TRUE);
        ^~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3061:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CATCH_SET(oldcatch);
        ^~~~~~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3061:2: note: '{' token is here
        CATCH_SET(oldcatch);
        ^~~~~~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
perl.c:3061:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CATCH_SET(oldcatch);
        ^~~~~~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
perl.c:3061:2: note: ')' token is here
        CATCH_SET(oldcatch);
        ^~~~~~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3069:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        INCMARK;
        ^~~~~~~
./pp.h:74:5: note: expanded from macro 'INCMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3069:2: note: '{' token is here
        INCMARK;
        ^~~~~~~
./pp.h:74:16: note: expanded from macro 'INCMARK'
    STMT_START {                                                      \
               ^
perl.c:3069:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        INCMARK;
        ^~~~~~~
./pp.h:79:5: note: expanded from macro 'INCMARK'
    } STMT_END
    ^
perl.c:3069:2: note: ')' token is here
        INCMARK;
        ^~~~~~~
./pp.h:79:7: note: expanded from macro 'INCMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3071:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3071:2: note: '{' token is here
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:3071:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:3071:2: note: ')' token is here
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3079:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_ERRSV();
                ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3079:3: note: '{' token is here
                CLEAR_ERRSV();
                ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
perl.c:3079:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_ERRSV();
                ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
perl.c:3079:3: note: ')' token is here
                CLEAR_ERRSV();
                ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3089:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3089:6: note: '{' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:3089:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:3089:6: note: ')' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3116:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3116:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:3116:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:3116:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3170:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3170:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
perl.c:3170:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
perl.c:3170:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3189:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3189:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:3189:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:3189:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3201:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3201:6: note: '{' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
perl.c:3201:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
perl.c:3201:6: note: ')' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3211:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3211:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:3211:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:3211:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3223:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3223:13: note: '{' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:3223:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:3223:13: note: ')' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3237:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3237:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:3237:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:3237:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3302:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3302:5: note: '{' token is here
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
perl.c:3302:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3302:5: note: '{' token is here
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
perl.c:3302:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
perl.c:3302:5: note: ')' token is here
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3302:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
perl.c:3302:5: note: ')' token is here
    PUSHSTACKi(PERLSI_REQUIRE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3305:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3305:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
perl.c:3305:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3305:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
perl.c:3305:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
perl.c:3305:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3305:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
perl.c:3305:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3465:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SvCUR_set(PL_rs, UVCHR_SKIP(rschar));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3465:8: note: '{' token is here
              SvCUR_set(PL_rs, UVCHR_SKIP(rschar));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
perl.c:3465:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SvCUR_set(PL_rs, UVCHR_SKIP(rschar));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
perl.c:3465:8: note: ')' token is here
              SvCUR_set(PL_rs, UVCHR_SKIP(rschar));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3728:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3728:5: note: '{' token is here
    free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
perl.c:3728:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
perl.c:3728:5: note: ')' token is here
    free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3733:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3733:5: note: '{' token is here
    free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
perl.c:3733:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
perl.c:3733:5: note: ')' token is here
    free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3957:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_incgv); /* Don't allow it to be freed */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3957:5: note: '{' token is here
    SvREFCNT_inc_simple_void(PL_incgv); /* Don't allow it to be freed */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
perl.c:3957:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_incgv); /* Don't allow it to be freed */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perl.c:3957:5: note: ')' token is here
    SvREFCNT_inc_simple_void(PL_incgv); /* Don't allow it to be freed */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3960:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_hintgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3960:5: note: '{' token is here
    SvREFCNT_inc_simple_void(PL_hintgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
perl.c:3960:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_hintgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perl.c:3960:5: note: ')' token is here
    SvREFCNT_inc_simple_void(PL_hintgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3963:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_defgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3963:5: note: '{' token is here
    SvREFCNT_inc_simple_void(PL_defgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
perl.c:3963:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_defgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perl.c:3963:5: note: ')' token is here
    SvREFCNT_inc_simple_void(PL_defgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3965:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_errgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3965:5: note: '{' token is here
    SvREFCNT_inc_simple_void(PL_errgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
perl.c:3965:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_errgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perl.c:3965:5: note: ')' token is here
    SvREFCNT_inc_simple_void(PL_errgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3968:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_replgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3968:5: note: '{' token is here
    SvREFCNT_inc_simple_void(PL_replgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
perl.c:3968:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(PL_replgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perl.c:3968:5: note: ')' token is here
    SvREFCNT_inc_simple_void(PL_replgv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:3975:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:3975:5: note: '{' token is here
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
perl.c:3975:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
perl.c:3975:5: note: ')' token is here
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:4313:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBsingle);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:4313:5: note: '{' token is here
    SvSETMAGIC(PL_DBsingle);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
perl.c:4313:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBsingle);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
perl.c:4313:5: note: ')' token is here
    SvSETMAGIC(PL_DBsingle);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:4320:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBtrace);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:4320:5: note: '{' token is here
    SvSETMAGIC(PL_DBtrace);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
perl.c:4320:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBtrace);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
perl.c:4320:5: note: ')' token is here
    SvSETMAGIC(PL_DBtrace);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:4327:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBsignal);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:4327:5: note: '{' token is here
    SvSETMAGIC(PL_DBsignal);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
perl.c:4327:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(PL_DBsignal);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
perl.c:4327:5: note: ')' token is here
    SvSETMAGIC(PL_DBsignal);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:4914:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvTAINTED_on(libdir);
                        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:4914:4: note: '{' token is here
                        SvTAINTED_on(libdir);
                        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
perl.c:4914:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvTAINTED_on(libdir);
                        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
perl.c:4914:4: note: ')' token is here
                        SvTAINTED_on(libdir);
                        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5112:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5112:2: note: '{' token is here
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
perl.c:5112:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
perl.c:5112:2: note: ')' token is here
        JMPENV_PUSH(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5115:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CALL_LIST_BODY(cv);
            ^~~~~~~~~~~~~~~~~~
perl.c:81:5: note: expanded from macro 'CALL_LIST_BODY'
    PUSHMARK(PL_stack_sp); \
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5115:6: note: '{' token is here
            CALL_LIST_BODY(cv);
            ^~~~~~~~~~~~~~~~~~
perl.c:81:5: note: expanded from macro 'CALL_LIST_BODY'
    PUSHMARK(PL_stack_sp); \
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
perl.c:5115:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CALL_LIST_BODY(cv);
            ^~~~~~~~~~~~~~~~~~
perl.c:81:5: note: expanded from macro 'CALL_LIST_BODY'
    PUSHMARK(PL_stack_sp); \
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
perl.c:5115:6: note: ')' token is here
            CALL_LIST_BODY(cv);
            ^~~~~~~~~~~~~~~~~~
perl.c:81:5: note: expanded from macro 'CALL_LIST_BODY'
    PUSHMARK(PL_stack_sp); \
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5132:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                JMPENV_POP;
                ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5132:3: note: '{' token is here
                JMPENV_POP;
                ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:5132:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                JMPENV_POP;
                ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:5132:3: note: ')' token is here
                JMPENV_POP;
                ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5147:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5147:6: note: '{' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:5147:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:5147:6: note: ')' token is here
            JMPENV_POP;
            ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5154:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                JMPENV_JUMP(3);
                ^~~~~~~~~~~~~~
./cop.h:143:5: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5154:3: note: '{' token is here
                JMPENV_JUMP(3);
                ^~~~~~~~~~~~~~
./cop.h:143:16: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
               ^
perl.c:5154:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                JMPENV_JUMP(3);
                ^~~~~~~~~~~~~~
./cop.h:155:5: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
    ^
perl.c:5154:3: note: ')' token is here
                JMPENV_JUMP(3);
                ^~~~~~~~~~~~~~
./cop.h:155:7: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5160:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5160:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
perl.c:5160:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
perl.c:5160:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5192:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_EXIT_SET(status);
        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3509:31: note: expanded from macro 'STATUS_EXIT_SET'
#   define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
                              ^~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5192:2: note: '{' token is here
        STATUS_EXIT_SET(status);
        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3509:31: note: expanded from macro 'STATUS_EXIT_SET'
#   define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
                              ^~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
perl.c:5192:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_EXIT_SET(status);
        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3509:31: note: expanded from macro 'STATUS_EXIT_SET'
#   define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
                              ^~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
perl.c:5192:2: note: ')' token is here
        STATUS_EXIT_SET(status);
        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3509:31: note: expanded from macro 'STATUS_EXIT_SET'
#   define STATUS_EXIT_SET(n) STATUS_UNIX_SET(n)
                              ^~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5272:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_UNIX_SET(eno);
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5272:2: note: '{' token is here
        STATUS_UNIX_SET(eno);
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
perl.c:5272:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_UNIX_SET(eno);
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
perl.c:5272:2: note: ')' token is here
        STATUS_UNIX_SET(eno);
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5276:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(exitstatus);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5276:6: note: '{' token is here
            STATUS_UNIX_SET(exitstatus);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
perl.c:5276:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(exitstatus);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
perl.c:5276:6: note: ')' token is here
            STATUS_UNIX_SET(exitstatus);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5278:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(255);
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5278:6: note: '{' token is here
            STATUS_UNIX_SET(255);
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
perl.c:5278:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(255);
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
perl.c:5278:6: note: ')' token is here
            STATUS_UNIX_SET(255);
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5300:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1121:5: note: expanded from macro 'POPSTACK_TO'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5300:5: note: '{' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1121:16: note: expanded from macro 'POPSTACK_TO'
    STMT_START {                                                        \
               ^
perl.c:5300:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5300:5: note: '{' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
perl.c:5300:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5300:5: note: '{' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
perl.c:5300:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
perl.c:5300:5: note: ')' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5300:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
perl.c:5300:5: note: ')' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1124:6: note: expanded from macro 'POPSTACK_TO'
            POPSTACK;                                                   \
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5300:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1126:5: note: expanded from macro 'POPSTACK_TO'
    } STMT_END
    ^
perl.c:5300:5: note: ')' token is here
    POPSTACK_TO(PL_mainstack);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1126:7: note: expanded from macro 'POPSTACK_TO'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5305:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(0);
    ^~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5305:5: note: '{' token is here
    LEAVE_SCOPE(0);
    ^~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
perl.c:5305:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(0);
    ^~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
perl.c:5305:5: note: ')' token is here
    LEAVE_SCOPE(0);
    ^~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5307:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_JUMP(2);
    ^~~~~~~~~~~~~~
./cop.h:143:5: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5307:5: note: '{' token is here
    JMPENV_JUMP(2);
    ^~~~~~~~~~~~~~
./cop.h:143:16: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
               ^
perl.c:5307:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_JUMP(2);
    ^~~~~~~~~~~~~~
./cop.h:155:5: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
    ^
perl.c:5307:5: note: ')' token is here
    JMPENV_JUMP(2);
    ^~~~~~~~~~~~~~
./cop.h:155:7: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5336:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5336:5: note: '{' token is here
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
perl.c:5336:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perl.c:5336:5: note: '{' token is here
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
perl.c:5336:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
perl.c:5336:5: note: ')' token is here
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perl.c:5336:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
perl.c:5336:5: note: ')' token is here
    XSRETURN_YES;
    ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
280 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC gv.c
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from gv.c:36:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:398:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(gv, NULL);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:398:2: note: '{' token is here
        SvRV_set(gv, NULL);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
gv.c:398:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(gv, NULL);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
gv.c:398:2: note: ')' token is here
        SvRV_set(gv, NULL);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:405:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:405:6: note: '{' token is here
            SvCUR_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
gv.c:405:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
gv.c:405:6: note: ')' token is here
            SvCUR_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:410:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(gv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:410:6: note: '{' token is here
            SvPV_set(gv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
gv.c:410:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(gv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
gv.c:410:6: note: ')' token is here
            SvPV_set(gv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:411:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:411:6: note: '{' token is here
            SvLEN_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
gv.c:411:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
gv.c:411:6: note: ')' token is here
            SvLEN_set(gv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:417:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    isGV_with_GP_on(gv);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:2218:29: note: expanded from macro 'isGV_with_GP_on'
#define isGV_with_GP_on(sv)     STMT_START {                           \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:417:5: note: '{' token is here
    isGV_with_GP_on(gv);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:2218:40: note: expanded from macro 'isGV_with_GP_on'
#define isGV_with_GP_on(sv)     STMT_START {                           \
                                           ^
gv.c:417:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    isGV_with_GP_on(gv);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:2223:5: note: expanded from macro 'isGV_with_GP_on'
    } STMT_END
    ^
gv.c:417:5: note: ')' token is here
    isGV_with_GP_on(gv);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:2223:7: note: expanded from macro 'isGV_with_GP_on'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1296:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(tmpsv, SvCUR(tmpsv) + 1); /* include null in string */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1296:6: note: '{' token is here
            SvCUR_set(tmpsv, SvCUR(tmpsv) + 1); /* include null in string */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
gv.c:1296:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(tmpsv, SvCUR(tmpsv) + 1); /* include null in string */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
gv.c:1296:6: note: ')' token is here
            SvCUR_set(tmpsv, SvCUR(tmpsv) + 1); /* include null in string */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1304:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(cv, SvCUR(cv) + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1304:6: note: '{' token is here
            SvLEN_set(cv, SvCUR(cv) + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
gv.c:1304:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(cv, SvCUR(cv) + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
gv.c:1304:6: note: ')' token is here
            SvLEN_set(cv, SvCUR(cv) + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1305:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(cv, ulen);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1305:6: note: '{' token is here
            SvCUR_set(cv, ulen);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
gv.c:1305:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(cv, ulen);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
gv.c:1305:6: note: ')' token is here
            SvCUR_set(cv, ulen);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1335:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_off(varsv); /* previous $AUTOLOAD taint is obsolete */
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1335:5: note: '{' token is here
    SvTAINTED_off(varsv); /* previous $AUTOLOAD taint is obsolete */
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
gv.c:1335:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_off(varsv); /* previous $AUTOLOAD taint is obsolete */
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
gv.c:1335:5: note: ')' token is here
    SvTAINTED_off(varsv); /* previous $AUTOLOAD taint is obsolete */
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1380:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1380:7: note: '{' token is here
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
gv.c:1380:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1380:7: note: '{' token is here
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
gv.c:1380:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
gv.c:1380:7: note: ')' token is here
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1380:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
gv.c:1380:7: note: ')' token is here
      PUSHSTACKi(PERLSI_MAGIC);
      ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1410:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHMARK(SP);
      ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1410:7: note: '{' token is here
      PUSHMARK(SP);
      ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
gv.c:1410:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      PUSHMARK(SP);
      ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
gv.c:1410:7: note: ')' token is here
      PUSHMARK(SP);
      ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1411:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1411:7: note: '{' token is here
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
gv.c:1411:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1411:7: note: '{' token is here
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
gv.c:1411:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
gv.c:1411:7: note: ')' token is here
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1411:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
gv.c:1411:7: note: ')' token is here
      XPUSHs((SV *)gv);
      ^~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1415:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      POPSTACK;
      ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1415:7: note: '{' token is here
      POPSTACK;
      ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
gv.c:1415:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      POPSTACK;
      ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:1415:7: note: '{' token is here
      POPSTACK;
      ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
gv.c:1415:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      POPSTACK;
      ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
gv.c:1415:7: note: ')' token is here
      POPSTACK;
      ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:1415:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      POPSTACK;
      ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
gv.c:1415:7: note: ')' token is here
      POPSTACK;
      ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3002:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETTARG;
            ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3002:13: note: '{' token is here
            SETTARG;
            ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
gv.c:3002:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETTARG;
            ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3002:13: note: '{' token is here
            SETTARG;
            ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
gv.c:3002:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETTARG;
            ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
gv.c:3002:13: note: ')' token is here
            SETTARG;
            ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3002:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETTARG;
            ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
gv.c:3002:13: note: ')' token is here
            SETTARG;
            ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3058:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3058:17: note: '{' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
gv.c:3058:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3058:17: note: '{' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
gv.c:3058:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
gv.c:3058:17: note: ')' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3058:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
gv.c:3058:17: note: ')' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3237:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSTASH_set(newref, MUTABLE_HV(SvREFCNT_inc(SvSTASH(tmpRef))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3237:3: note: '{' token is here
                SvSTASH_set(newref, MUTABLE_HV(SvREFCNT_inc(SvSTASH(tmpRef))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
gv.c:3237:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSTASH_set(newref, MUTABLE_HV(SvREFCNT_inc(SvSTASH(tmpRef))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
gv.c:3237:3: note: ')' token is here
                SvSTASH_set(newref, MUTABLE_HV(SvREFCNT_inc(SvSTASH(tmpRef))));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3505:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SvRV_set(left, rv_copy);
          ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3505:4: note: '{' token is here
          SvRV_set(left, rv_copy);
          ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
gv.c:3505:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SvRV_set(left, rv_copy);
          ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
gv.c:3505:4: note: ')' token is here
          SvRV_set(left, rv_copy);
          ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3506:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SvSETMAGIC(left);
          ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3506:4: note: '{' token is here
          SvSETMAGIC(left);
          ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
gv.c:3506:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SvSETMAGIC(left);
          ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
gv.c:3506:4: note: ')' token is here
          SvSETMAGIC(left);
          ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3524:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CATCH_SET(TRUE);
    ^~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3524:5: note: '{' token is here
    CATCH_SET(TRUE);
    ^~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
gv.c:3524:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CATCH_SET(TRUE);
    ^~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
gv.c:3524:5: note: ')' token is here
    CATCH_SET(TRUE);
    ^~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3545:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3545:5: note: '{' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
gv.c:3545:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3545:5: note: '{' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
gv.c:3545:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
gv.c:3545:5: note: ')' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3545:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
gv.c:3545:5: note: ')' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3553:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, notfound + 5);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3553:5: note: '{' token is here
    EXTEND(SP, notfound + 5);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
gv.c:3553:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, notfound + 5);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
gv.c:3553:5: note: ')' token is here
    EXTEND(SP, notfound + 5);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3598:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3598:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
gv.c:3598:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3598:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
gv.c:3598:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
gv.c:3598:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3598:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
gv.c:3598:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3599:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CATCH_SET(oldcatch);
    ^~~~~~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3599:5: note: '{' token is here
    CATCH_SET(oldcatch);
    ^~~~~~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
gv.c:3599:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CATCH_SET(oldcatch);
    ^~~~~~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
gv.c:3599:5: note: ')' token is here
    CATCH_SET(oldcatch);
    ^~~~~~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3624:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV(left,res); return left;
        ^~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3624:2: note: '{' token is here
        SvSetSV(left,res); return left;
        ^~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
gv.c:3624:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV(left,res); return left;
        ^~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
gv.c:3624:2: note: ')' token is here
        SvSetSV(left,res); return left;
        ^~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
gv.c:3735:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(gv, value);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
gv.c:3735:2: note: '{' token is here
        SvRV_set(gv, value);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
gv.c:3735:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(gv, value);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
gv.c:3735:2: note: ')' token is here
        SvRV_set(gv, value);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
162 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC toke.c
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from toke.c:40:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:791:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(FITS_IN_8_BITS(LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:791:5: note: '{' token is here
    STATIC_ASSERT_STMT(FITS_IN_8_BITS(LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
toke.c:791:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(FITS_IN_8_BITS(LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
toke.c:791:5: note: ')' token is here
    STATIC_ASSERT_STMT(FITS_IN_8_BITS(LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1045:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1045:6: note: '{' token is here
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1045:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1045:6: note: ')' token is here
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1071:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1071:6: note: '{' token is here
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1071:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1071:6: note: ')' token is here
            SvCUR_set(PL_parser->linestr,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1091:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) + len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1091:6: note: '{' token is here
            SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) + len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1091:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) + len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1091:6: note: ')' token is here
            SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) + len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1189:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - unstuff_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1189:5: note: '{' token is here
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - unstuff_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1189:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - unstuff_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1189:5: note: ')' token is here
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - unstuff_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1218:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1218:6: note: '{' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:1218:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:1218:6: note: ')' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1267:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - discard_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1267:5: note: '{' token is here
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - discard_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1267:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - discard_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1267:5: note: ')' token is here
    SvCUR_set(PL_parser->linestr, SvCUR(PL_parser->linestr) - discard_len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1351:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(linestr, 0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1351:2: note: '{' token is here
        SvCUR_set(linestr, 0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:1351:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(linestr, 0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:1351:2: note: ')' token is here
        SvCUR_set(linestr, 0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1536:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1536:6: note: '{' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:1536:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:1536:6: note: ')' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1752:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_INC_WITH_HERELINES;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1752:5: note: '{' token is here
    COPLINE_INC_WITH_HERELINES;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:1752:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_INC_WITH_HERELINES;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:1752:5: note: ')' token is here
    COPLINE_INC_WITH_HERELINES;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:1881:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:1881:6: note: '{' token is here
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
toke.c:1881:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
toke.c:1881:6: note: ')' token is here
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:2247:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(ver, str_to_version(ver));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:2247:3: note: '{' token is here
                SvNV_set(ver, str_to_version(ver));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
toke.c:2247:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(ver, str_to_version(ver));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
toke.c:2247:3: note: ')' token is here
                SvNV_set(ver, str_to_version(ver));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:2342:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:2342:5: note: '{' token is here
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:2342:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:2342:5: note: ')' token is here
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3376:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, d - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3376:17: note: '{' token is here
                SvCUR_set(sv, d - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:3376:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, d - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:3376:17: note: ')' token is here
                SvCUR_set(sv, d - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3691:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3691:29: note: '{' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:3691:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:3691:29: note: ')' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3730:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3730:29: note: '{' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:3730:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:3730:29: note: ')' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3867:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3867:8: note: '{' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:3867:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:3867:8: note: ')' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3946:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3946:41: note: '{' token is here
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
toke.c:3946:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
toke.c:3946:41: note: ')' token is here
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:3982:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    my_snprintf(hex_string, sizeof(hex_string),
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:3982:37: note: '{' token is here
                                    my_snprintf(hex_string, sizeof(hex_string),
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
toke.c:3982:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    my_snprintf(hex_string, sizeof(hex_string),
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
toke.c:3982:37: note: ')' token is here
                                    my_snprintf(hex_string, sizeof(hex_string),
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4004:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4004:41: note: '{' token is here
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
toke.c:4004:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
toke.c:4004:41: note: ')' token is here
                                        my_snprintf(hex_string,
                                        ^~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4059:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4059:8: note: '{' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4059:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4059:8: note: ')' token is here
                            SvCUR_set(sv, d - SvPVX_const(sv));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4177:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4177:13: note: '{' token is here
            SvCUR_set(sv, d - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4177:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4177:13: note: ')' token is here
            SvCUR_set(sv, d - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4233:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4233:5: note: '{' token is here
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4233:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4233:5: note: ')' token is here
    SvCUR_set(sv, d - SvPVX_const(sv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:32: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4242:2: note: '{' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:43: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                                          ^
toke.c:4242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4242:2: note: '{' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
toke.c:4242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4242:2: note: '{' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:4242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:4242:2: note: ')' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4242:2: note: '{' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
toke.c:4242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
toke.c:4242:2: note: ')' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
toke.c:4242:2: note: ')' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:4: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                 ^
toke.c:4242:2: note: ')' token is here
        SvPV_shrink_to_cur(sv);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:6: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4250:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                COPLINE_INC_WITH_HERELINES;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4250:3: note: '{' token is here
                COPLINE_INC_WITH_HERELINES;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:4250:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                COPLINE_INC_WITH_HERELINES;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:4250:3: note: ')' token is here
                COPLINE_INC_WITH_HERELINES;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4617:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(linestr, SvCUR(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4617:3: note: '{' token is here
                SvLEN_set(linestr, SvCUR(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:4617:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(linestr, SvCUR(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:4617:3: note: ')' token is here
                SvLEN_set(linestr, SvCUR(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4618:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(linestr, s - SvPVX(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4618:3: note: '{' token is here
                SvCUR_set(linestr, s - SvPVX(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4618:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(linestr, s - SvPVX(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4618:3: note: ')' token is here
                SvCUR_set(linestr, s - SvPVX(linestr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4691:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(buf_sv, old_len + len) ;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4691:6: note: '{' token is here
            SvCUR_set(buf_sv, old_len + len) ;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4691:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(buf_sv, old_len + len) ;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4691:6: note: ')' token is here
            SvCUR_set(buf_sv, old_len + len) ;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4718:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(datasv, SvCUR(datasv) + correct_length);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4718:6: note: '{' token is here
            SvCUR_set(datasv, SvCUR(datasv) + correct_length);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4718:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(datasv, SvCUR(datasv) + correct_length);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4718:6: note: ')' token is here
            SvCUR_set(datasv, SvCUR(datasv) + correct_length);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4732:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(datasv, s-SvPVX(datasv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4732:6: note: '{' token is here
            SvCUR_set(datasv, s-SvPVX(datasv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4732:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(datasv, s-SvPVX(datasv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4732:6: note: ')' token is here
            SvCUR_set(datasv, s-SvPVX(datasv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:4763:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, 0);   /* start with empty line        */
            ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:4763:13: note: '{' token is here
            SvCUR_set(sv, 0);   /* start with empty line        */
            ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:4763:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, 0);   /* start with empty line        */
            ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:4763:13: note: ')' token is here
            SvCUR_set(sv, 0);   /* start with empty line        */
            ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:5257:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:5257:9: note: '{' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:5257:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:5257:9: note: ')' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:5472:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:5472:5: note: '{' token is here
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:5472:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:5472:5: note: ')' token is here
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:5816:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                COPLINE_SET_FROM_MULTI_END;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:5816:17: note: '{' token is here
                COPLINE_SET_FROM_MULTI_END;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:5816:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                COPLINE_SET_FROM_MULTI_END;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:5816:17: note: ')' token is here
                COPLINE_SET_FROM_MULTI_END;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:6595:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:6595:5: note: '{' token is here
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:6595:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:6595:5: note: ')' token is here
    COPLINE_SET_FROM_MULTI_END;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:6632:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:6632:9: note: '{' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:6632:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:6632:9: note: ')' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:6886:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            i = my_snprintf(tmpbuf, sizeof(tmpbuf), "No such class %.1000s", PL_tokenbuf);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:6886:17: note: '{' token is here
            i = my_snprintf(tmpbuf, sizeof(tmpbuf), "No such class %.1000s", PL_tokenbuf);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
toke.c:6886:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            i = my_snprintf(tmpbuf, sizeof(tmpbuf), "No such class %.1000s", PL_tokenbuf);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
toke.c:6886:17: note: ')' token is here
            i = my_snprintf(tmpbuf, sizeof(tmpbuf), "No such class %.1000s", PL_tokenbuf);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:6964:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:6964:9: note: '{' token is here
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:6964:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:6964:9: note: ')' token is here
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:8125:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:8125:9: note: '{' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:299:16: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    STMT_START {                               \
               ^
toke.c:8125:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:5: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
    ^
toke.c:8125:9: note: ')' token is here
        COPLINE_SET_FROM_MULTI_END;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:303:7: note: expanded from macro 'COPLINE_SET_FROM_MULTI_END'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:8141:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(PL_lex_stuff, 0);  /* qq'$foo' should interpolate */
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:8141:13: note: '{' token is here
            SvIV_set(PL_lex_stuff, 0);  /* qq'$foo' should interpolate */
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
toke.c:8141:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(PL_lex_stuff, 0);  /* qq'$foo' should interpolate */
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
toke.c:8141:13: note: ')' token is here
            SvIV_set(PL_lex_stuff, 0);  /* qq'$foo' should interpolate */
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9336:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv,
                ^~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9336:3: note: '{' token is here
                SvCUR_set(sv,
                ^~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:9336:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv,
                ^~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:9336:3: note: ')' token is here
                SvCUR_set(sv,
                ^~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9338:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:32: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9338:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:43: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                                          ^
toke.c:9338:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9338:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
toke.c:9338:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9338:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:9338:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:9338:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9338:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9338:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
toke.c:9338:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
toke.c:9338:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9338:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
toke.c:9338:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9338:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:4: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                 ^
toke.c:9338:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:6: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9741:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9741:5: note: '{' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
toke.c:9741:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9741:5: note: '{' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
toke.c:9741:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
toke.c:9741:5: note: ')' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9741:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
toke.c:9741:5: note: ')' token is here
    PUSHSTACKi(PERLSI_OVERLOAD);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9745:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9745:5: note: '{' token is here
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
toke.c:9745:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
toke.c:9745:5: note: ')' token is here
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9746:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(sp, 3);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9746:5: note: '{' token is here
    EXTEND(sp, 3);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
toke.c:9746:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(sp, 3);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
toke.c:9746:5: note: ')' token is here
    EXTEND(sp, 3);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9775:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9775:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
toke.c:9775:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:9775:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
toke.c:9775:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
toke.c:9775:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:9775:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
toke.c:9775:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10571:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10571:2: note: '{' token is here
        SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:10571:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:10571:2: note: ')' token is here
        SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10580:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(tmpstr, -1);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10580:2: note: '{' token is here
        SvIV_set(tmpstr, -1);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
toke.c:10580:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(tmpstr, -1);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
toke.c:10580:2: note: ')' token is here
        SvIV_set(tmpstr, -1);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10584:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(tmpstr, '\\');
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10584:2: note: '{' token is here
        SvIV_set(tmpstr, '\\');
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
toke.c:10584:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(tmpstr, '\\');
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
toke.c:10584:2: note: ')' token is here
        SvIV_set(tmpstr, '\\');
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10722:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(linestr, SvCUR(linestr) - (s-d));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10722:2: note: '{' token is here
        SvCUR_set(linestr, SvCUR(linestr) - (s-d));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:10722:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(linestr, SvCUR(linestr) - (s-d));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:10722:2: note: ')' token is here
        SvCUR_set(linestr, SvCUR(linestr) - (s-d));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10787:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10787:21: note: '{' token is here
                    SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:10787:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:10787:21: note: ')' token is here
                    SvCUR_set(PL_linestr, PL_bufend - SvPVX_const(PL_linestr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10900:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:32: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10900:2: note: '{' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:43: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                                          ^
toke.c:10900:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10900:2: note: '{' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
toke.c:10900:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10900:2: note: '{' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:10900:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:10900:2: note: ')' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10900:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:10900:2: note: '{' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
toke.c:10900:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
toke.c:10900:2: note: ')' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10900:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
toke.c:10900:2: note: ')' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:10900:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:4: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                 ^
toke.c:10900:2: note: ')' token is here
        SvPV_shrink_to_cur(tmpstr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:6: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11208:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, termcode);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11208:5: note: '{' token is here
    SvIV_set(sv, termcode);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
toke.c:11208:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, termcode);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
toke.c:11208:5: note: ')' token is here
    SvIV_set(sv, termcode);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11226:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11226:7: note: '{' token is here
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:11226:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:11226:7: note: ')' token is here
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11276:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11276:7: note: '{' token is here
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:11276:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:11276:7: note: ')' token is here
                    COPLINE_INC_WITH_HERELINES;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11300:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, to - SvPVX_const(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11300:2: note: '{' token is here
        SvCUR_set(sv, to - SvPVX_const(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:11300:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, to - SvPVX_const(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:11300:2: note: ')' token is here
        SvCUR_set(sv, to - SvPVX_const(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11316:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, to - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11316:3: note: '{' token is here
                SvCUR_set(sv, to - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:11316:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, to - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:11316:3: note: ')' token is here
                SvCUR_set(sv, to - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11328:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11328:2: note: '{' token is here
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:11328:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:11328:2: note: ')' token is here
        COPLINE_INC_WITH_HERELINES;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11353:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(sv, SvCUR(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11353:2: note: '{' token is here
        SvLEN_set(sv, SvCUR(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:11353:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(sv, SvCUR(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:11353:2: note: ')' token is here
        SvLEN_set(sv, SvCUR(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11354:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11354:2: note: '{' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
toke.c:11354:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11354:2: note: '{' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
toke.c:11354:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
toke.c:11354:2: note: ')' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11354:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:11354:2: note: '{' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
toke.c:11354:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
toke.c:11354:2: note: ')' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:11354:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
toke.c:11354:2: note: ')' token is here
        SvPV_renew(sv, SvLEN(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12094:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(stuff, SvCUR(stuff) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12094:7: note: '{' token is here
                    SvCUR_set(stuff, SvCUR(stuff) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:12094:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(stuff, SvCUR(stuff) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:12094:7: note: ')' token is here
                    SvCUR_set(stuff, SvCUR(stuff) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12106:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12106:6: note: '{' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:290:16: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    STMT_START {                                     \
               ^
toke.c:12106:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:5: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
    ^
toke.c:12106:6: note: ')' token is here
            COPLINE_INC_WITH_HERELINES;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
toke.c:295:7: note: expanded from macro 'COPLINE_INC_WITH_HERELINES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12585:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(utf8_buffer, have + newlen);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12585:2: note: '{' token is here
        SvCUR_set(utf8_buffer, have + newlen);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:12585:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(utf8_buffer, have + newlen);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:12585:2: note: ')' token is here
        SvCUR_set(utf8_buffer, have + newlen);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12593:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(utf16_buffer, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12593:6: note: '{' token is here
            SvCUR_set(utf16_buffer, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:12593:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(utf16_buffer, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:12593:6: note: ')' token is here
            SvCUR_set(utf16_buffer, 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12595:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(utf16_buffer, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12595:6: note: '{' token is here
            SvCUR_set(utf16_buffer, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:12595:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(utf16_buffer, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:12595:6: note: ')' token is here
            SvCUR_set(utf16_buffer, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12620:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_linestr, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12620:5: note: '{' token is here
    SvCUR_set(PL_linestr, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
toke.c:12620:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(PL_linestr, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
toke.c:12620:5: note: ')' token is here
    SvCUR_set(PL_linestr, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12798:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    KEYWORD_PLUGIN_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6265:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_LOCK'
#  define KEYWORD_PLUGIN_MUTEX_LOCK    MUTEX_LOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12798:5: note: '{' token is here
    KEYWORD_PLUGIN_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6265:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_LOCK'
#  define KEYWORD_PLUGIN_MUTEX_LOCK    MUTEX_LOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
toke.c:12798:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    KEYWORD_PLUGIN_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6265:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_LOCK'
#  define KEYWORD_PLUGIN_MUTEX_LOCK    MUTEX_LOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
toke.c:12798:5: note: ')' token is here
    KEYWORD_PLUGIN_MUTEX_LOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6265:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_LOCK'
#  define KEYWORD_PLUGIN_MUTEX_LOCK    MUTEX_LOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
toke.c:12803:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    KEYWORD_PLUGIN_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6266:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_UNLOCK'
#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
toke.c:12803:5: note: '{' token is here
    KEYWORD_PLUGIN_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6266:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_UNLOCK'
#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
toke.c:12803:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    KEYWORD_PLUGIN_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6266:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_UNLOCK'
#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
toke.c:12803:5: note: ')' token is here
    KEYWORD_PLUGIN_MUTEX_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6266:40: note: expanded from macro 'KEYWORD_PLUGIN_MUTEX_UNLOCK'
#  define KEYWORD_PLUGIN_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_keyword_plugin_mutex)
                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
260 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC perly.c
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from perly.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perly.c:223:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(ps->savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.c:223:2: note: '{' token is here
        LEAVE_SCOPE(ps->savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
perly.c:223:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(ps->savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
perly.c:223:2: note: ')' token is here
        LEAVE_SCOPE(ps->savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:305:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:305:6: note: '{' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:305:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:305:6: note: ')' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:326:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:326:6: note: '{' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:326:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:326:6: note: ')' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:346:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:346:6: note: '{' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:346:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:346:6: note: ')' token is here
                          SvREFCNT_inc_simple_void(PL_compcv);
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:940:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:940:7: note: '{' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:940:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:940:7: note: ')' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:1130:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:1130:7: note: '{' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:1130:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:1130:7: note: ')' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perly.c:432:
perly.y:1133:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.y:1133:7: note: '{' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
In file included from perly.c:432:
perly.y:1133:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
perly.y:1133:7: note: ')' token is here
    { SvREFCNT_inc_simple_void(PL_compcv);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perly.c:490:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    LEAVE_SCOPE(ps->savestack_ix);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.c:490:21: note: '{' token is here
                    LEAVE_SCOPE(ps->savestack_ix);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
perly.c:490:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    LEAVE_SCOPE(ps->savestack_ix);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
perly.c:490:21: note: ')' token is here
                    LEAVE_SCOPE(ps->savestack_ix);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perly.c:539:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            LEAVE_SCOPE(ps->savestack_ix);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perly.c:539:13: note: '{' token is here
            LEAVE_SCOPE(ps->savestack_ix);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
perly.c:539:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            LEAVE_SCOPE(ps->savestack_ix);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
perly.c:539:13: note: ')' token is here
            LEAVE_SCOPE(ps->savestack_ix);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
116 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pad.c
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pad.c:150:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:613:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COP_SEQ_RANGE_LOW_set(name, PERL_PADSEQ_INTRO);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:3: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:613:5: note: '{' token is here
    COP_SEQ_RANGE_LOW_set(name, PERL_PADSEQ_INTRO);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:14: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
             ^
pad.c:613:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COP_SEQ_RANGE_LOW_set(name, PERL_PADSEQ_INTRO);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:41: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                        ^
pad.c:613:5: note: ')' token is here
    COP_SEQ_RANGE_LOW_set(name, PERL_PADSEQ_INTRO);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:43: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:614:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COP_SEQ_RANGE_HIGH_set(name, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:3: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:614:5: note: '{' token is here
    COP_SEQ_RANGE_HIGH_set(name, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:14: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
             ^
pad.c:614:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    COP_SEQ_RANGE_HIGH_set(name, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:42: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                         ^
pad.c:614:5: note: ')' token is here
    COP_SEQ_RANGE_HIGH_set(name, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:44: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1306:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PARENT_FAKELEX_FLAGS_set(new_name, *out_flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:159:34: note: expanded from macro 'PARENT_FAKELEX_FLAGS_set'
#define PARENT_FAKELEX_FLAGS_set        COP_SEQ_RANGE_HIGH_set
                                        ^
pad.c:156:3: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1306:2: note: '{' token is here
        PARENT_FAKELEX_FLAGS_set(new_name, *out_flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:159:34: note: expanded from macro 'PARENT_FAKELEX_FLAGS_set'
#define PARENT_FAKELEX_FLAGS_set        COP_SEQ_RANGE_HIGH_set
                                        ^
pad.c:156:14: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
             ^
pad.c:1306:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PARENT_FAKELEX_FLAGS_set(new_name, *out_flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:159:34: note: expanded from macro 'PARENT_FAKELEX_FLAGS_set'
#define PARENT_FAKELEX_FLAGS_set        COP_SEQ_RANGE_HIGH_set
                                        ^
pad.c:156:42: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                         ^
pad.c:1306:2: note: ')' token is here
        PARENT_FAKELEX_FLAGS_set(new_name, *out_flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:159:34: note: expanded from macro 'PARENT_FAKELEX_FLAGS_set'
#define PARENT_FAKELEX_FLAGS_set        COP_SEQ_RANGE_HIGH_set
                                        ^
pad.c:156:44: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1308:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PARENT_PAD_INDEX_set(new_name, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:3: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1308:2: note: '{' token is here
        PARENT_PAD_INDEX_set(new_name, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:14: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
             ^
pad.c:1308:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PARENT_PAD_INDEX_set(new_name, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:41: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                        ^
pad.c:1308:2: note: ')' token is here
        PARENT_PAD_INDEX_set(new_name, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:43: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1314:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:3: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1314:6: note: '{' token is here
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:14: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
             ^
pad.c:1314:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:41: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                        ^
pad.c:1314:6: note: ')' token is here
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:43: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1321:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:3: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1321:6: note: '{' token is here
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:14: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
             ^
pad.c:1321:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:41: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                        ^
pad.c:1321:6: note: ')' token is here
            PARENT_PAD_INDEX_set(new_name, offset);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:158:31: note: expanded from macro 'PARENT_PAD_INDEX_set'
#define PARENT_PAD_INDEX_set            COP_SEQ_RANGE_LOW_set
                                        ^
pad.c:154:43: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1453:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_HIGH_set(sv, PERL_PADSEQ_INTRO); /* Don't know scope end yet. */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:3: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1453:6: note: '{' token is here
            COP_SEQ_RANGE_HIGH_set(sv, PERL_PADSEQ_INTRO); /* Don't know scope end yet. */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:14: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
             ^
pad.c:1453:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_HIGH_set(sv, PERL_PADSEQ_INTRO); /* Don't know scope end yet. */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:42: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                         ^
pad.c:1453:6: note: ')' token is here
            COP_SEQ_RANGE_HIGH_set(sv, PERL_PADSEQ_INTRO); /* Don't know scope end yet. */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:44: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1454:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_LOW_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:3: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1454:6: note: '{' token is here
            COP_SEQ_RANGE_LOW_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:14: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
             ^
pad.c:1454:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_LOW_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:41: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                        ^
pad.c:1454:6: note: ')' token is here
            COP_SEQ_RANGE_LOW_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:154:43: note: expanded from macro 'COP_SEQ_RANGE_LOW_set'
  STMT_START { (sv)->xpadn_low = (val); } STMT_END
                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:1507:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_HIGH_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:3: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:1507:6: note: '{' token is here
            COP_SEQ_RANGE_HIGH_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:14: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
             ^
pad.c:1507:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            COP_SEQ_RANGE_HIGH_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:42: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                         ^
pad.c:1507:6: note: ')' token is here
            COP_SEQ_RANGE_HIGH_set(sv, PL_cop_seqmax);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pad.c:156:44: note: expanded from macro 'COP_SEQ_RANGE_HIGH_set'
  STMT_START { (sv)->xpadn_high = (val); } STMT_END
                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:2209:5: note: '{' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
pad.c:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
pad.c:2209:5: note: ')' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:2211:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:2211:5: note: '{' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
pad.c:2211:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
pad.c:2211:5: note: ')' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pad.c:2295:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    sv_cathek(retsv, CvNAME_HEK(cv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:2: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pad.c:2295:7: note: '{' token is here
                    sv_cathek(retsv, CvNAME_HEK(cv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:13: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
                   ^
pad.c:2295:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    sv_cathek(retsv, CvNAME_HEK(cv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:2: note: expanded from macro 'sv_cathek'
        } STMT_END
        ^
pad.c:2295:7: note: ')' token is here
                    sv_cathek(retsv, CvNAME_HEK(cv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:4: note: expanded from macro 'sv_cathek'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
122 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC regcomp.c
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from regcomp.c:132:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regcomp.c:143:
./invlist_inline.h:122:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./invlist_inline.h:122:5: note: '{' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
In file included from regcomp.c:143:
./invlist_inline.h:122:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
./invlist_inline.h:122:5: note: ')' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1493:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1493:2: note: '{' token is here
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
regcomp.c:1493:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
regcomp.c:1493:2: note: '{' token is here
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
regcomp.c:1493:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
regcomp.c:1493:2: note: ')' token is here
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
regcomp.c:1493:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
regcomp.c:1493:2: note: ')' token is here
        SvSetMagicSV(longest_sv, data->last_found);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1517:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(data->last_found, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1517:5: note: '{' token is here
    SvCUR_set(data->last_found, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:1517:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(data->last_found, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:1517:5: note: ')' token is here
    SvCUR_set(data->last_found, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1601:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    set_ANYOF_SYNTHETIC(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:243:32: note: expanded from macro 'set_ANYOF_SYNTHETIC'
#define set_ANYOF_SYNTHETIC(n) STMT_START{ OP(n) = ANYOF;              \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1601:5: note: '{' token is here
    set_ANYOF_SYNTHETIC(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:243:42: note: expanded from macro 'set_ANYOF_SYNTHETIC'
#define set_ANYOF_SYNTHETIC(n) STMT_START{ OP(n) = ANYOF;              \
                                         ^
regcomp.c:1601:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    set_ANYOF_SYNTHETIC(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:245:32: note: expanded from macro 'set_ANYOF_SYNTHETIC'
                               } STMT_END
                               ^
regcomp.c:1601:5: note: ')' token is here
    set_ANYOF_SYNTHETIC(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:245:34: note: expanded from macro 'set_ANYOF_SYNTHETIC'
                               } STMT_END
                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1613:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_SETALL(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:700:34: note: expanded from macro 'ANYOF_POSIXL_SETALL'
#define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1613:2: note: '{' token is here
        ANYOF_POSIXL_SETALL(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:700:45: note: expanded from macro 'ANYOF_POSIXL_SETALL'
#define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END
                                            ^
regcomp.c:1613:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_SETALL(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:700:137: note: expanded from macro 'ANYOF_POSIXL_SETALL'
#define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END
                                                                                                                                        ^
regcomp.c:1613:2: note: ')' token is here
        ANYOF_POSIXL_SETALL(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:700:139: note: expanded from macro 'ANYOF_POSIXL_SETALL'
#define ANYOF_POSIXL_SETALL(ret) STMT_START { ((regnode_charclass_posixl*) (ret))->classflags = ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1; } STMT_END
                                                                                                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1616:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_ZERO(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1616:2: note: '{' token is here
        ANYOF_POSIXL_ZERO(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:1616:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_ZERO(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:1616:2: note: ')' token is here
        ANYOF_POSIXL_ZERO(ssc);
        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1912:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_ZERO(ssc);
            ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1912:13: note: '{' token is here
            ANYOF_POSIXL_ZERO(ssc);
            ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:1912:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_ZERO(ssc);
            ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:1912:13: note: ')' token is here
            ANYOF_POSIXL_ZERO(ssc);
            ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1943:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_ZERO(&temp);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1943:13: note: '{' token is here
            ANYOF_POSIXL_ZERO(&temp);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:1943:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_ZERO(&temp);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:1943:13: note: ')' token is here
            ANYOF_POSIXL_ZERO(&temp);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1954:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_AND(&temp, ssc);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:40: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1954:13: note: '{' token is here
            ANYOF_POSIXL_AND(&temp, ssc);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:51: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                  ^
regcomp.c:1954:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ANYOF_POSIXL_AND(&temp, ssc);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:98: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                                                                 ^
regcomp.c:1954:13: note: ')' token is here
            ANYOF_POSIXL_AND(&temp, ssc);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:100: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1970:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ANYOF_POSIXL_ZERO(ssc);
                ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1970:17: note: '{' token is here
                ANYOF_POSIXL_ZERO(ssc);
                ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:1970:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ANYOF_POSIXL_ZERO(ssc);
                ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:1970:17: note: ')' token is here
                ANYOF_POSIXL_ZERO(ssc);
                ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1972:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ANYOF_POSIXL_OR((regnode_charclass_posixl*) and_with, ssc);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:39: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1972:21: note: '{' token is here
                    ANYOF_POSIXL_OR((regnode_charclass_posixl*) and_with, ssc);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:50: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                 ^
regcomp.c:1972:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ANYOF_POSIXL_OR((regnode_charclass_posixl*) and_with, ssc);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:97: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                                                                ^
regcomp.c:1972:21: note: ')' token is here
                    ANYOF_POSIXL_OR((regnode_charclass_posixl*) and_with, ssc);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:99: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:1981:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ANYOF_POSIXL_AND((regnode_charclass_posixl*) and_with, ssc);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:40: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:1981:17: note: '{' token is here
                ANYOF_POSIXL_AND((regnode_charclass_posixl*) and_with, ssc);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:51: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                  ^
regcomp.c:1981:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ANYOF_POSIXL_AND((regnode_charclass_posixl*) and_with, ssc);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:98: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                                                                 ^
regcomp.c:1981:17: note: ')' token is here
                ANYOF_POSIXL_AND((regnode_charclass_posixl*) and_with, ssc);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:724:100: note: expanded from macro 'ANYOF_POSIXL_AND'
#define ANYOF_POSIXL_AND(source, dest) STMT_START { (dest)->classflags &= (source)->classflags ; } STMT_END
                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2056:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_OR((regnode_charclass_posixl*)or_with, ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:39: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2056:9: note: '{' token is here
        ANYOF_POSIXL_OR((regnode_charclass_posixl*)or_with, ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:50: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                 ^
regcomp.c:2056:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_OR((regnode_charclass_posixl*)or_with, ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:97: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                                                                ^
regcomp.c:2056:9: note: ')' token is here
        ANYOF_POSIXL_OR((regnode_charclass_posixl*)or_with, ssc);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:721:99: note: expanded from macro 'ANYOF_POSIXL_OR'
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
                                                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2140:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ANYOF_POSIXL_ZERO(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2140:5: note: '{' token is here
    ANYOF_POSIXL_ZERO(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:2140:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ANYOF_POSIXL_ZERO(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:2140:5: note: ')' token is here
    ANYOF_POSIXL_ZERO(ssc);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2908:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_READ_CHAR;
            ^~~~~~~~~~~~~~
regcomp.c:2632:24: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2908:13: note: '{' token is here
            TRIE_READ_CHAR;
            ^~~~~~~~~~~~~~
regcomp.c:2632:35: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                                  ^
regcomp.c:2908:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_READ_CHAR;
            ^~~~~~~~~~~~~~
regcomp.c:2651:79: note: expanded from macro 'TRIE_READ_CHAR'
    }                                                                         \
                                                                              ^
regcomp.c:2908:13: note: ')' token is here
            TRIE_READ_CHAR;
            ^~~~~~~~~~~~~~
regcomp.c:2652:3: note: expanded from macro 'TRIE_READ_CHAR'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2978:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:5: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2978:25: note: '{' token is here
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:16: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
               ^
regcomp.c:2978:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2978:25: note: '{' token is here
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:2978:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:2978:25: note: ')' token is here
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2978:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:9: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
        ^
regcomp.c:2978:25: note: ')' token is here
                        TRIE_STORE_REVCHAR( folded );
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:11: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2983:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:5: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2983:21: note: '{' token is here
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:16: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
               ^
regcomp.c:2983:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2983:21: note: '{' token is here
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:2983:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:2983:21: note: ')' token is here
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2983:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:9: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
        ^
regcomp.c:2983:21: note: ')' token is here
                    TRIE_STORE_REVCHAR( uvc );
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:11: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:2988:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_BITMAP_SET_FOLDED(trie, uvc, folder);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2726:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
#define TRIE_BITMAP_SET_FOLDED(trie, uvc, folder)           \
                                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:2988:21: note: '{' token is here
                    TRIE_BITMAP_SET_FOLDED(trie, uvc, folder);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2727:12: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
STMT_START {                                                \
           ^
regcomp.c:2988:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_BITMAP_SET_FOLDED(trie, uvc, folder);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2739:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
    }                                                       \
                                                            ^
regcomp.c:2988:21: note: ')' token is here
                    TRIE_BITMAP_SET_FOLDED(trie, uvc, folder);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2740:3: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3011:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:5: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3011:21: note: '{' token is here
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2614:16: note: expanded from macro 'TRIE_STORE_REVCHAR'
    STMT_START {                                                           \
               ^
regcomp.c:3011:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3011:21: note: '{' token is here
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:3011:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:3011:21: note: ')' token is here
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2620:6: note: expanded from macro 'TRIE_STORE_REVCHAR'
            SvCUR_set(zlopp, kapow - flrbbbbb);                            \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3011:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:9: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
        ^
regcomp.c:3011:21: note: ')' token is here
                    TRIE_STORE_REVCHAR(uvc);
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2628:11: note: expanded from macro 'TRIE_STORE_REVCHAR'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3084:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TRIE_LIST_NEW(1);
        ^~~~~~~~~~~~~~~~
regcomp.c:2667:30: note: expanded from macro 'TRIE_LIST_NEW'
#define TRIE_LIST_NEW(state) STMT_START {                       \
                             ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3084:9: note: '{' token is here
        TRIE_LIST_NEW(1);
        ^~~~~~~~~~~~~~~~
regcomp.c:2667:41: note: expanded from macro 'TRIE_LIST_NEW'
#define TRIE_LIST_NEW(state) STMT_START {                       \
                                        ^
regcomp.c:3084:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TRIE_LIST_NEW(1);
        ^~~~~~~~~~~~~~~~
regcomp.c:2671:65: note: expanded from macro 'TRIE_LIST_NEW'
     TRIE_LIST_LEN( state ) = 4;                                \
                                                                ^
regcomp.c:3084:9: note: ')' token is here
        TRIE_LIST_NEW(1);
        ^~~~~~~~~~~~~~~~
regcomp.c:2672:3: note: expanded from macro 'TRIE_LIST_NEW'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3114:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2632:24: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3114:21: note: '{' token is here
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2632:35: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                                  ^
regcomp.c:3114:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2651:79: note: expanded from macro 'TRIE_READ_CHAR'
    }                                                                         \
                                                                              ^
regcomp.c:3114:21: note: ')' token is here
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2652:3: note: expanded from macro 'TRIE_READ_CHAR'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3138:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_LIST_NEW( state );
                            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2667:30: note: expanded from macro 'TRIE_LIST_NEW'
#define TRIE_LIST_NEW(state) STMT_START {                       \
                             ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3138:29: note: '{' token is here
                            TRIE_LIST_NEW( state );
                            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2667:41: note: expanded from macro 'TRIE_LIST_NEW'
#define TRIE_LIST_NEW(state) STMT_START {                       \
                                        ^
regcomp.c:3138:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_LIST_NEW( state );
                            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2671:65: note: expanded from macro 'TRIE_LIST_NEW'
     TRIE_LIST_LEN( state ) = 4;                                \
                                                                ^
regcomp.c:3138:29: note: ')' token is here
                            TRIE_LIST_NEW( state );
                            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2672:3: note: expanded from macro 'TRIE_LIST_NEW'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3154:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_LIST_PUSH( state, charid, newstate );
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2656:38: note: expanded from macro 'TRIE_LIST_PUSH'
#define TRIE_LIST_PUSH(state,fid,ns) STMT_START {               \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3154:29: note: '{' token is here
                            TRIE_LIST_PUSH( state, charid, newstate );
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2656:49: note: expanded from macro 'TRIE_LIST_PUSH'
#define TRIE_LIST_PUSH(state,fid,ns) STMT_START {               \
                                                ^
regcomp.c:3154:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_LIST_PUSH( state, charid, newstate );
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2664:65: note: expanded from macro 'TRIE_LIST_PUSH'
    TRIE_LIST_CUR( state )++;                                   \
                                                                ^
regcomp.c:3154:29: note: ')' token is here
                            TRIE_LIST_PUSH( state, charid, newstate );
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2665:3: note: expanded from macro 'TRIE_LIST_PUSH'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3169:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_HANDLE_WORD(state);
            ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2674:33: note: expanded from macro 'TRIE_HANDLE_WORD'
#define TRIE_HANDLE_WORD(state) STMT_START {                    \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3169:13: note: '{' token is here
            TRIE_HANDLE_WORD(state);
            ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2674:44: note: expanded from macro 'TRIE_HANDLE_WORD'
#define TRIE_HANDLE_WORD(state) STMT_START {                    \
                                           ^
regcomp.c:3169:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_HANDLE_WORD(state);
            ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2713:65: note: expanded from macro 'TRIE_HANDLE_WORD'
    }                                                           \
                                                                ^
regcomp.c:3169:13: note: ')' token is here
            TRIE_HANDLE_WORD(state);
            ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2714:3: note: expanded from macro 'TRIE_HANDLE_WORD'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3348:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2632:24: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3348:21: note: '{' token is here
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2632:35: note: expanded from macro 'TRIE_READ_CHAR'
#define TRIE_READ_CHAR STMT_START {                                           \
                                  ^
regcomp.c:3348:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2651:79: note: expanded from macro 'TRIE_READ_CHAR'
    }                                                                         \
                                                                              ^
regcomp.c:3348:21: note: ')' token is here
                    TRIE_READ_CHAR;
                    ^~~~~~~~~~~~~~
regcomp.c:2652:3: note: expanded from macro 'TRIE_READ_CHAR'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3383:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_HANDLE_WORD(accept_state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2674:33: note: expanded from macro 'TRIE_HANDLE_WORD'
#define TRIE_HANDLE_WORD(state) STMT_START {                    \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3383:13: note: '{' token is here
            TRIE_HANDLE_WORD(accept_state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2674:44: note: expanded from macro 'TRIE_HANDLE_WORD'
#define TRIE_HANDLE_WORD(state) STMT_START {                    \
                                           ^
regcomp.c:3383:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TRIE_HANDLE_WORD(accept_state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2713:65: note: expanded from macro 'TRIE_HANDLE_WORD'
    }                                                           \
                                                                ^
regcomp.c:3383:13: note: ')' token is here
            TRIE_HANDLE_WORD(accept_state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2714:3: note: expanded from macro 'TRIE_HANDLE_WORD'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3626:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2726:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
#define TRIE_BITMAP_SET_FOLDED(trie, uvc, folder)           \
                                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3626:37: note: '{' token is here
                                    TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2727:12: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
STMT_START {                                                \
           ^
regcomp.c:3626:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2739:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
    }                                                       \
                                                            ^
regcomp.c:3626:37: note: ')' token is here
                                    TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2740:3: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3633:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2726:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
#define TRIE_BITMAP_SET_FOLDED(trie, uvc, folder)           \
                                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3633:29: note: '{' token is here
                            TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2727:12: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
STMT_START {                                                \
           ^
regcomp.c:3633:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2739:61: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
    }                                                       \
                                                            ^
regcomp.c:3633:29: note: ')' token is here
                            TRIE_BITMAP_SET_FOLDED(trie,*ch, folder);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:2740:3: note: expanded from macro 'TRIE_BITMAP_SET_FOLDED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3661:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        setSTR_LEN(convert, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:5: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3661:25: note: '{' token is here
                        setSTR_LEN(convert, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:15: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
              ^
regcomp.c:3661:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        setSTR_LEN(convert, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:5: note: expanded from macro 'setSTR_LEN'
    } STMT_END
    ^
regcomp.c:3661:25: note: ')' token is here
                        setSTR_LEN(convert, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:7: note: expanded from macro 'setSTR_LEN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:3664:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    setSTR_LEN(convert, (U8)(STR_LEN(convert) + len));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:5: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:3664:21: note: '{' token is here
                    setSTR_LEN(convert, (U8)(STR_LEN(convert) + len));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:15: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
              ^
regcomp.c:3664:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    setSTR_LEN(convert, (U8)(STR_LEN(convert) + len));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:5: note: expanded from macro 'setSTR_LEN'
    } STMT_END
    ^
regcomp.c:3664:21: note: ')' token is here
                    setSTR_LEN(convert, (U8)(STR_LEN(convert) + len));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:7: note: expanded from macro 'setSTR_LEN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:4269:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            setSTR_LEN(scan, (U8)(STR_LEN(scan) + STR_LEN(n)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:5: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:4269:13: note: '{' token is here
            setSTR_LEN(scan, (U8)(STR_LEN(scan) + STR_LEN(n)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:15: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
              ^
regcomp.c:4269:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            setSTR_LEN(scan, (U8)(STR_LEN(scan) + STR_LEN(n)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:5: note: expanded from macro 'setSTR_LEN'
    } STMT_END
    ^
regcomp.c:4269:13: note: ')' token is here
            setSTR_LEN(scan, (U8)(STR_LEN(scan) + STR_LEN(n)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:7: note: expanded from macro 'setSTR_LEN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5435:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ANYOF_POSIXL_ZERO(data->start_class);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5435:21: note: '{' token is here
                    ANYOF_POSIXL_ZERO(data->start_class);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:5435:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ANYOF_POSIXL_ZERO(data->start_class);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:5435:21: note: ')' token is here
                    ANYOF_POSIXL_ZERO(data->start_class);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5622:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5622:7: note: '{' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:5622:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5622:7: note: '{' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:5622:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:5622:7: note: ')' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5622:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5622:7: note: '{' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:5622:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:5622:7: note: ')' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5622:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:5622:7: note: ')' token is here
                    _WARN_HELPER(RExC_precomp_end, packWARN(WARN_REGEXP),
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5633:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5633:21: note: '{' token is here
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:5633:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5633:21: note: '{' token is here
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:5633:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:5633:21: note: ')' token is here
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5633:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:5633:21: note: ')' token is here
                    FAIL("Regexp out of space");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5818:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(last_str, SvCUR(last_str) * mincount);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5818:5: note: '{' token is here
                                SvCUR_set(last_str, SvCUR(last_str) * mincount);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:5818:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(last_str, SvCUR(last_str) * mincount);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:5818:5: note: ')' token is here
                                SvCUR_set(last_str, SvCUR(last_str) * mincount);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:5820:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(data->last_found,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:5820:5: note: '{' token is here
                                SvCUR_set(data->last_found,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:5820:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(data->last_found,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:5820:5: note: ')' token is here
                                SvCUR_set(data->last_found,
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6068:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ANYOF_POSIXL_ZERO(data->start_class);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6068:25: note: '{' token is here
                        ANYOF_POSIXL_ZERO(data->start_class);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:6068:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ANYOF_POSIXL_ZERO(data->start_class);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:6068:25: note: ')' token is here
                        ANYOF_POSIXL_ZERO(data->start_class);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:692:32: note: expanded from macro 'ANYOF_POSIXL_ZERO'
#define ANYOF_POSIXL_ZERO(ret)  POSIXL_ZERO(((regnode_charclass_posixl*) (ret))->classflags)
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6195:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6195:4: note: '{' token is here
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:6195:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6195:4: note: '{' token is here
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:6195:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:6195:4: note: ')' token is here
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6195:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:6195:4: note: ')' token is here
                        FAIL2("Lookbehind longer than %" UVuf " not implemented",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6206:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1059:5: note: expanded from macro 'ckWARNexperimental'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6206:25: note: '{' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1059:16: note: expanded from macro 'ckWARNexperimental'
    STMT_START {                                                        \
               ^
regcomp.c:6206:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6206:25: note: '{' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:6206:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6206:25: note: '{' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:6206:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:6206:25: note: ')' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6206:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:6206:25: note: '{' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:6206:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:6206:25: note: ')' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6206:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:6206:25: note: ')' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:6206:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1067:5: note: expanded from macro 'ckWARNexperimental'
    } STMT_END
    ^
regcomp.c:6206:25: note: ')' token is here
                        ckWARNexperimental(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1067:7: note: expanded from macro 'ckWARNexperimental'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7079:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(pat);
        ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7079:9: note: '{' token is here
        SvSETMAGIC(pat);
        ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
regcomp.c:7079:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(pat);
        ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
regcomp.c:7079:9: note: ')' token is here
        SvSETMAGIC(pat);
        ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7230:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7230:2: note: '{' token is here
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
regcomp.c:7230:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7230:2: note: '{' token is here
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:7230:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:7230:2: note: ')' token is here
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7230:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
regcomp.c:7230:2: note: ')' token is here
        PUSHSTACKi(PERLSI_REQUIRE);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7251:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7251:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:7251:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7251:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:7251:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:7251:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7251:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
regcomp.c:7251:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7476:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(Rx, p - RX_WRAPPED(Rx));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7476:5: note: '{' token is here
    SvCUR_set(Rx, p - RX_WRAPPED(Rx));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:7476:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(Rx, p - RX_WRAPPED(Rx));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:7476:5: note: ')' token is here
    SvCUR_set(Rx, p - RX_WRAPPED(Rx));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7757:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7757:9: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:7757:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7757:9: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:7757:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:7757:9: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7757:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:7757:9: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7843:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7843:9: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:7843:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:7843:9: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:7843:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:7843:9: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:7843:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:7843:9: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8258:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6668:5: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8258:9: note: '{' token is here
        CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6668:16: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    STMT_START {                                            \
               ^
regcomp.c:8258:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6676:5: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    } STMT_END
    ^
regcomp.c:8258:9: note: ')' token is here
        CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6676:7: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8386:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CHECK_RESTUDY_GOTO_butfirst(NOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6668:5: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8386:9: note: '{' token is here
        CHECK_RESTUDY_GOTO_butfirst(NOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6668:16: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    STMT_START {                                            \
               ^
regcomp.c:8386:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CHECK_RESTUDY_GOTO_butfirst(NOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6676:5: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    } STMT_END
    ^
regcomp.c:8386:9: note: ')' token is here
        CHECK_RESTUDY_GOTO_butfirst(NOOP);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:6676:7: note: expanded from macro 'CHECK_RESTUDY_GOTO_butfirst'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8871:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvMAGIC_set(sv, mg->mg_moremagic);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8871:21: note: '{' token is here
                    SvMAGIC_set(sv, mg->mg_moremagic);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
regcomp.c:8871:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvMAGIC_set(sv, mg->mg_moremagic);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
regcomp.c:8871:21: note: ')' token is here
                    SvMAGIC_set(sv, mg->mg_moremagic);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8872:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8872:21: note: '{' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
regcomp.c:8872:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8872:21: note: '{' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
regcomp.c:8872:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
regcomp.c:8872:21: note: ')' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8872:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
regcomp.c:8872:21: note: ')' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8875:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvMAGIC_set(sv, mg);
                        ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8875:25: note: '{' token is here
                        SvMAGIC_set(sv, mg);
                        ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
regcomp.c:8875:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvMAGIC_set(sv, mg);
                        ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
regcomp.c:8875:25: note: ')' token is here
                        SvMAGIC_set(sv, mg);
                        ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8879:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8879:21: note: '{' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
regcomp.c:8879:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8879:21: note: '{' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
regcomp.c:8879:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
regcomp.c:8879:21: note: ')' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8879:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
regcomp.c:8879:21: note: ')' token is here
                    SvTAINT(sv);
                    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:8882:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:8882:17: note: '{' token is here
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
regcomp.c:8882:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
regcomp.c:8882:17: note: ')' token is here
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9034:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9034:9: note: '{' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:9034:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9034:9: note: '{' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:9034:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:9034:9: note: ')' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9034:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9034:9: note: '{' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:9034:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:9034:9: note: ')' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9034:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:9034:9: note: ')' token is here
        vFAIL("Group name must start with a non-digit word character");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9055:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9055:17: note: '{' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:9055:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9055:17: note: '{' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:9055:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:9055:17: note: ')' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9055:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9055:17: note: '{' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:9055:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:9055:17: note: ')' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9055:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:9055:17: note: ')' token is here
                vFAIL("Reference to nonexistent named group");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9058:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9058:17: note: '{' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:16: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
               ^
regcomp.c:9058:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
    ^
regcomp.c:9058:17: note: ')' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:7: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9228:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(src, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9228:5: note: '{' token is here
    SvPV_set(src, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
regcomp.c:9228:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(src, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
regcomp.c:9228:5: note: ')' token is here
    SvPV_set(src, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9229:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9229:5: note: '{' token is here
    SvLEN_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:9229:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:9229:5: note: ')' token is here
    SvLEN_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9230:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9230:5: note: '{' token is here
    SvCUR_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:9230:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:9230:5: note: ')' token is here
    SvCUR_set(src, 0);
    ^~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9286:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9286:5: note: '{' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
regcomp.c:9286:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9286:5: note: '{' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:9286:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:9286:5: note: ')' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9286:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9286:5: note: '{' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
regcomp.c:9286:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
regcomp.c:9286:5: note: ')' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9286:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
regcomp.c:9286:5: note: ')' token is here
    SvPV_renew(invlist, MAX(min_size, SvCUR(invlist) + 1));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9400:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(invlist, (char *) (list + HEADER_LENGTH));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9400:5: note: '{' token is here
    SvPV_set(invlist, (char *) (list + HEADER_LENGTH));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
regcomp.c:9400:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(invlist, (char *) (list + HEADER_LENGTH));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
regcomp.c:9400:5: note: ')' token is here
    SvPV_set(invlist, (char *) (list + HEADER_LENGTH));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:9402:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(invlist, 0);  /* Means we own the contents, and the system
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:9402:5: note: '{' token is here
    SvLEN_set(invlist, 0);  /* Means we own the contents, and the system
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:9402:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(invlist, 0);  /* Means we own the contents, and the system
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:9402:5: note: ')' token is here
    SvLEN_set(invlist, 0);  /* Means we own the contents, and the system
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10526:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(output, SvCUR(output) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10526:9: note: '{' token is here
        SvCUR_set(output, SvCUR(output) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:10526:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(output, SvCUR(output) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:10526:9: note: ')' token is here
        SvCUR_set(output, SvCUR(output) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10887:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10887:21: note: '{' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:10887:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10887:21: note: '{' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10887:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10887:21: note: ')' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10887:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10887:21: note: '{' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:10887:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:10887:21: note: ')' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10887:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:10887:21: note: ')' token is here
                    vFAIL("Use of modifier '-m' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10962:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10962:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:10962:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10962:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10962:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10962:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10962:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10962:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:10962:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:10962:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10962:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:10962:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10965:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10965:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:10965:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10965:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10965:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10965:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10965:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10965:21: note: '{' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:10965:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:10965:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10965:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:10965:21: note: ')' token is here
                    vFAIL2("Regexp modifier \"%c\" may not appear twice",
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10969:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:25: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10969:21: note: '{' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:36: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                                   ^
regcomp.c:10969:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10969:21: note: '{' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10969:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10969:21: note: ')' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10969:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:34: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10969:21: note: '{' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:45: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                            ^
regcomp.c:10969:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:878:57: note: expanded from macro 'Simple_vFAIL3'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:10969:21: note: ')' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:879:3: note: expanded from macro 'Simple_vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10969:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:34: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
                                                        ^
regcomp.c:10969:21: note: ')' token is here
                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:887:3: note: expanded from macro 'vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10974:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10974:17: note: '{' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:10974:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10974:17: note: '{' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10974:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10974:17: note: ')' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10974:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10974:17: note: '{' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:10974:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:10974:17: note: ')' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10974:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:10974:17: note: ')' token is here
                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10990:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10990:25: note: '{' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:10990:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10990:25: note: '{' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:10990:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:10990:25: note: ')' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10990:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:10990:25: note: '{' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:10990:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:10990:25: note: ')' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:10990:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:10990:25: note: ')' token is here
                        vWARN5(
                        ^~~~~~~
regcomp.c:1052:5: note: expanded from macro 'vWARN5'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11010:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11010:25: note: '{' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:11010:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11010:25: note: '{' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11010:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11010:25: note: ')' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11010:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11010:25: note: '{' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:11010:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:11010:25: note: ')' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11010:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:11010:25: note: ')' token is here
                        vWARN3(
                        ^~~~~~~
regcomp.c:1025:5: note: expanded from macro 'vWARN3'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11024:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11024:21: note: '{' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:11024:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11024:21: note: '{' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11024:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11024:21: note: ')' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11024:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11024:21: note: '{' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:11024:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:11024:21: note: ')' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11024:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:11024:21: note: ')' token is here
                    ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11050:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11050:21: note: '{' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11050:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11050:21: note: '{' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11050:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11050:21: note: ')' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11050:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11050:21: note: '{' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11050:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11050:21: note: ')' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11050:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11050:21: note: ')' token is here
                    vFAIL2("Use of modifier '%c' is not allowed in Unicode"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11071:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11071:17: note: '{' token is here
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:11071:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11071:17: note: '{' token is here
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11071:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11071:17: note: ')' token is here
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11071:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:11071:17: note: ')' token is here
                vFAIL2utf8f("Sequence (%" UTF8f "...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11079:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11079:5: note: '{' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11079:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11079:5: note: '{' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11079:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11079:5: note: ')' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11079:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11079:5: note: '{' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11079:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11079:5: note: ')' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11079:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11079:5: note: ')' token is here
    vFAIL("Sequence (?... not terminated");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11085:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11085:5: note: '{' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11085:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11085:5: note: '{' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11085:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11085:5: note: ')' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11085:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11085:5: note: '{' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11085:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11085:5: note: ')' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11085:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11085:5: note: ')' token is here
    vFAIL2("Use of modifier '%c' is not allowed in Unicode property wildcard"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11122:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11122:9: note: '{' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11122:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11122:9: note: '{' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11122:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11122:9: note: ')' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11122:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11122:9: note: '{' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11122:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11122:9: note: ')' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11122:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11122:9: note: ')' token is here
        vFAIL2("Sequence %.3s... not terminated", parse_start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11197:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11197:9: note: '{' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11197:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11197:9: note: '{' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11197:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11197:9: note: ')' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11197:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11197:9: note: '{' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11197:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11197:9: note: ')' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11197:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11197:9: note: ')' token is here
        vFAIL("Too many nested open parens");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11221:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11221:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11221:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11221:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11221:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11221:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11221:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11221:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11221:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11221:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11221:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11221:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11243:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11243:21: note: '{' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11243:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11243:21: note: '{' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11243:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11243:21: note: ')' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11243:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11243:21: note: '{' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11243:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11243:21: note: ')' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11243:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11243:21: note: ')' token is here
                    vFAIL("In '(*VERB...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11246:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11246:21: note: '{' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11246:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11246:21: note: '{' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11246:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11246:21: note: ')' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11246:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11246:21: note: '{' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11246:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11246:21: note: ')' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11246:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11246:21: note: ')' token is here
                    vFAIL("In '(*...)', the '(' and '*' must be adjacent");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11277:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11277:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11277:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11277:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11277:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11277:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11277:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11277:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11277:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11277:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11277:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11277:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11280:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11280:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11280:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11280:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11280:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11280:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11280:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11280:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11280:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11280:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11280:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11280:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' argument");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11286:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11286:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11286:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11286:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11286:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11286:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11286:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11286:25: note: '{' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11286:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11286:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11286:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11286:25: note: ')' token is here
                        vFAIL("Unterminated verb pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11289:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11289:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11289:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11289:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11289:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11289:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11289:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11289:25: note: '{' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11289:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11289:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11289:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11289:25: note: ')' token is here
                        vFAIL("Unterminated '(*...' construct");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11385:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_UNI_RULES(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11385:21: note: '{' token is here
                    REQUIRE_UNI_RULES(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:11385:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_UNI_RULES(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:11385:21: note: ')' token is here
                    REQUIRE_UNI_RULES(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11438:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11438:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:11438:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:11438:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11444:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11444:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:11444:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:11444:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11477:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11477:17: note: '{' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:11477:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11477:17: note: '{' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11477:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11477:17: note: ')' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11477:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:11477:17: note: ')' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11488:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11488:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:11488:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11488:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11488:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11488:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11488:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:11488:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11493:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11493:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:11493:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11493:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11493:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11493:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11493:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:11493:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11502:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:25: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11502:17: note: '{' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:36: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                                   ^
regcomp.c:11502:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11502:17: note: '{' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11502:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11502:17: note: ')' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11502:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:34: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11502:17: note: '{' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:45: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                            ^
regcomp.c:11502:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:878:57: note: expanded from macro 'Simple_vFAIL3'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:11502:17: note: ')' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:879:3: note: expanded from macro 'Simple_vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11502:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:34: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
                                                        ^
regcomp.c:11502:17: note: ')' token is here
                vFAIL3("Verb pattern '%.*s' has a mandatory argument",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:887:3: note: expanded from macro 'vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11536:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11536:17: note: '{' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11536:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11536:17: note: '{' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11536:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11536:17: note: ')' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11536:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11536:17: note: '{' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11536:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11536:17: note: ')' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11536:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11536:17: note: ')' token is here
                vFAIL("In '(?...)', the '(' and '?' must be adjacent");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11554:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11554:25: note: '{' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11554:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11554:25: note: '{' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11554:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11554:25: note: ')' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11554:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11554:25: note: '{' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11554:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11554:25: note: ')' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11554:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11554:25: note: ')' token is here
                        vFAIL("Sequence (?P<... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11561:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11561:25: note: '{' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11561:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11561:25: note: '{' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11561:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11561:25: note: ')' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11561:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11561:25: note: '{' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11561:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11561:25: note: ')' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11561:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11561:25: note: ')' token is here
                        vFAIL("Sequence (?P>... not terminated");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11572:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:25: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11572:3: note: '{' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:36: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                                   ^
regcomp.c:11572:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11572:3: note: '{' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11572:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11572:3: note: ')' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11572:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:34: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11572:3: note: '{' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:45: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                            ^
regcomp.c:11572:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:878:57: note: expanded from macro 'Simple_vFAIL3'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:11572:3: note: ')' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:879:3: note: expanded from macro 'Simple_vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11572:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:34: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
                                                        ^
regcomp.c:11572:3: note: ')' token is here
                vFAIL3("Sequence (%.*s...) not recognized",
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:887:3: note: expanded from macro 'vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11593:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11593:11: note: '{' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11593:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11593:11: note: '{' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11593:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11593:11: note: ')' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11593:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11593:11: note: '{' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11593:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11593:11: note: ')' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11593:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11593:11: note: ')' token is here
                        vFAIL2("Sequence (?%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11635:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(sv_dat, SvCUR(sv_dat) + sizeof(I32));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11635:33: note: '{' token is here
                                SvCUR_set(sv_dat, SvCUR(sv_dat) + sizeof(I32));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:11635:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvCUR_set(sv_dat, SvCUR(sv_dat) + sizeof(I32));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:11635:33: note: ')' token is here
                                SvCUR_set(sv_dat, SvCUR(sv_dat) + sizeof(I32));
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11637:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvIV_set(sv_dat, SvIVX(sv_dat) + 1);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11637:33: note: '{' token is here
                                SvIV_set(sv_dat, SvIVX(sv_dat) + 1);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
regcomp.c:11637:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvIV_set(sv_dat, SvIVX(sv_dat) + 1);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
regcomp.c:11637:33: note: ')' token is here
                                SvIV_set(sv_dat, SvIVX(sv_dat) + 1);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11644:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvIV_set(sv_dat, 1);
                            ^~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11644:29: note: '{' token is here
                            SvIV_set(sv_dat, 1);
                            ^~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
regcomp.c:11644:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvIV_set(sv_dat, 1);
                            ^~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
regcomp.c:11644:29: note: ')' token is here
                            SvIV_set(sv_dat, 1);
                            ^~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11665:21: note: '{' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11665:21: note: '{' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11665:21: note: ')' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11665:21: note: '{' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11665:21: note: ')' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11665:21: note: ')' token is here
                    vFAIL("Sequence (?... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11694:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11694:17: note: '{' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:16: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
               ^
regcomp.c:11694:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
    ^
regcomp.c:11694:17: note: ')' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:7: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11701:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11701:3: note: '{' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11701:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11701:3: note: '{' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11701:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11701:3: note: ')' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11701:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11701:3: note: '{' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11701:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11701:3: note: ')' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11701:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11701:3: note: ')' token is here
                vFAIL2("Sequence (?%c...) not implemented", (int)paren);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11706:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11706:7: note: '{' token is here
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:11706:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11706:7: note: '{' token is here
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11706:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11706:7: note: ')' token is here
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11706:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:11706:7: note: ')' token is here
                    FAIL("Sequence (?R) not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11712:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11712:17: note: '{' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:16: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
               ^
regcomp.c:11712:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
    ^
regcomp.c:11712:17: note: ')' token is here
                REQUIRE_PARENS_PASS;
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:7: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11727:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11727:21: note: '{' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11727:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11727:21: note: '{' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11727:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11727:21: note: ')' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11727:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11727:21: note: '{' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11727:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11727:21: note: ')' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11727:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11727:21: note: ')' token is here
                    vFAIL("Sequence (?&... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11733:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11733:21: note: '{' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11733:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11733:21: note: '{' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11733:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11733:21: note: ')' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11733:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11733:21: note: '{' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11733:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11733:21: note: ')' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11733:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11733:21: note: ')' token is here
                    vFAIL("Illegal pattern");
                    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11767:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11767:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11767:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11767:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11767:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11767:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11767:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11767:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11767:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11767:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11767:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11767:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11776:14: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11776:14: note: '{' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11776:14: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11776:14: note: '{' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11776:14: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11776:14: note: ')' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11776:14: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11776:14: note: '{' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11776:14: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11776:14: note: ')' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11776:14: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11776:14: note: ')' token is here
                    vFAIL("Expecting close bracket");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11784:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11784:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11784:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11784:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11784:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11784:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11784:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11784:25: note: '{' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11784:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11784:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11784:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11784:25: note: ')' token is here
                        vFAIL(impossible_group);
                        ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11812:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11812:25: note: '{' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11812:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11812:25: note: '{' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11812:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11812:25: note: ')' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11812:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11812:25: note: '{' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11812:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11812:25: note: ')' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11812:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11812:25: note: ')' token is here
                        vFAIL(non_existent_group_msg);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11824:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11824:29: note: '{' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:11824:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11824:29: note: '{' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11824:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11824:29: note: ')' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11824:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11824:29: note: '{' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:11824:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:11824:29: note: ')' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11824:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:11824:29: note: ')' token is here
                            vFAIL(non_existent_group_msg);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11828:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11828:25: note: '{' token is here
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:16: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
               ^
regcomp.c:11828:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
    ^
regcomp.c:11828:25: note: ')' token is here
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:7: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11865:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11865:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:11865:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11865:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11865:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11865:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11865:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:11865:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11890:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11890:4: note: '{' token is here
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:11890:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11890:4: note: '{' token is here
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11890:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11890:4: note: ')' token is here
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11890:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:11890:4: note: ')' token is here
                        FAIL("panic: Sequence (?{...}): no code block found\n");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11891:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11891:7: note: '{' token is here
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:11891:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11891:7: note: '{' token is here
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11891:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11891:7: note: ')' token is here
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11891:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:11891:7: note: ')' token is here
                    FAIL("Eval-group not allowed at runtime, use re 'eval'");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11924:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11924:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:11924:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:11924:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11977:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(flag, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11977:21: note: '{' token is here
                    RETURN_FAIL_ON_RESTART(flag, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:11977:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(flag, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:11977:21: note: ')' token is here
                    RETURN_FAIL_ON_RESTART(flag, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11979:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11979:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:11979:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:11979:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11994:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11994:25: note: '{' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:11994:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11994:25: note: '{' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:11994:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:11994:25: note: ')' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11994:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:11994:25: note: '{' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:11994:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:11994:25: note: ')' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:11994:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:11994:25: note: ')' token is here
                        vFAIL2("Sequence (?(%c... not terminated",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12059:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12059:25: note: '{' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12059:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12059:25: note: '{' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12059:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12059:25: note: ')' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12059:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12059:25: note: '{' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12059:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12059:25: note: ')' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12059:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12059:25: note: ')' token is here
                        vFAIL("panic: grok_atoUV returned FALSE");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12068:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12068:4: note: '{' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12068:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12068:4: note: '{' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12068:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12068:4: note: ')' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12068:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12068:4: note: '{' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12068:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12068:4: note: ')' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12068:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12068:4: note: ')' token is here
                        vFAIL("Switch condition not recognized");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12075:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12075:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12075:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12075:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12079:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        RETURN_FAIL_ON_RESTART(flags,flagp);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12079:25: note: '{' token is here
                        RETURN_FAIL_ON_RESTART(flags,flagp);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12079:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        RETURN_FAIL_ON_RESTART(flags,flagp);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12079:25: note: ')' token is here
                        RETURN_FAIL_ON_RESTART(flags,flagp);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12080:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12080:25: note: '{' token is here
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12080:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12080:25: note: '{' token is here
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12080:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12080:25: note: ')' token is here
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12080:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12080:25: note: ')' token is here
                        FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12086:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12086:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12086:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12086:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12094:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12094:15: note: '{' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12094:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12094:15: note: '{' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12094:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12094:15: note: ')' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12094:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12094:15: note: '{' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12094:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12094:15: note: ')' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12094:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12094:15: note: ')' token is here
                            vFAIL("(?(DEFINE)....) does not allow branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12100:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            RETURN_FAIL_ON_RESTART(flags, flagp);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12100:29: note: '{' token is here
                            RETURN_FAIL_ON_RESTART(flags, flagp);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12100:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            RETURN_FAIL_ON_RESTART(flags, flagp);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12100:29: note: ')' token is here
                            RETURN_FAIL_ON_RESTART(flags, flagp);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12101:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12101:29: note: '{' token is here
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12101:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12101:29: note: '{' token is here
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12101:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12101:29: note: ')' token is here
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12101:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12101:29: note: ')' token is here
                            FAIL2("panic: regbranch returned failure, flags=%#" UVxf,
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12105:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12105:29: note: '{' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12105:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12105:29: note: ')' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12116:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12116:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12116:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12116:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12116:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12116:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12116:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12116:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12116:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12116:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12116:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12116:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... not terminated");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12118:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12118:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12118:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12118:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12118:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12118:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12118:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12118:29: note: '{' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12118:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12118:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12118:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12118:29: note: ')' token is here
                            vFAIL("Switch (?(condition)... contains too many branches");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12122:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12122:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12122:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12122:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12126:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12126:29: note: '{' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12126:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12126:29: note: ')' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12134:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12134:29: note: '{' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12134:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12134:29: note: ')' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12139:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12139:29: note: '{' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12139:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12139:29: note: ')' token is here
                            REQUIRE_BRANCHJ(flagp, 0);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12151:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12151:17: note: '{' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12151:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12151:17: note: '{' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12151:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12151:17: note: ')' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12151:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12151:17: note: '{' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12151:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12151:17: note: ')' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12151:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12151:17: note: ')' token is here
                vFAIL("Unknown switch condition (?(...))");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12158:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12158:17: note: '{' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12158:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12158:17: note: '{' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12158:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12158:17: note: ')' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12158:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12158:17: note: '{' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12158:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12158:17: note: ')' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12158:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12158:17: note: ')' token is here
                vFAIL("Sequence (? incomplete");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12163:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12163:21: note: '{' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:12163:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12163:21: note: '{' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12163:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12163:21: note: ')' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12163:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12163:21: note: '{' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:12163:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:12163:21: note: ')' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12163:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:12163:21: note: ')' token is here
                    ckWARNreg(RExC_parse, "Empty (?) without any modifiers");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12264:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12264:9: note: '{' token is here
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12264:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12264:9: note: ')' token is here
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12265:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12265:9: note: '{' token is here
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12265:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12265:9: note: '{' token is here
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12265:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12265:9: note: ')' token is here
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12265:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12265:9: note: ')' token is here
        FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12283:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12283:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12283:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12283:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12311:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12311:13: note: '{' token is here
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12311:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12311:13: note: ')' token is here
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12312:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12312:13: note: '{' token is here
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12312:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12312:13: note: '{' token is here
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12312:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12312:13: note: ')' token is here
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12312:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12312:13: note: ')' token is here
            FAIL2("panic: regbranch returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12315:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12315:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12315:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12315:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12388:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12388:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12388:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12388:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12404:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12404:25: note: '{' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12404:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12404:25: note: ')' token is here
                        REQUIRE_BRANCHJ(flagp, 0);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12475:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12475:17: note: '{' token is here
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12475:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12475:17: note: ')' token is here
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12490:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12490:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12490:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12490:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12490:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12490:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12490:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12490:6: note: '{' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12490:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12490:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12490:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12490:6: note: ')' token is here
            vFAIL("Unmatched (");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12497:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12497:6: note: '{' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12497:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12497:6: note: '{' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12497:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12497:6: note: ')' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12497:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12497:6: note: '{' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12497:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12497:6: note: ')' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12497:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12497:6: note: ')' token is here
            vFAIL("Unmatched )");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12500:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12500:6: note: '{' token is here
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12500:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12500:6: note: '{' token is here
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12500:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12500:6: note: ')' token is here
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12500:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12500:6: note: ')' token is here
            FAIL("Junk on end of regexp");      /* "Can't happen". */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12558:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12558:13: note: '{' token is here
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12558:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12558:13: note: ')' token is here
            RETURN_FAIL_ON_RESTART(flags, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12559:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12559:13: note: '{' token is here
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12559:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12559:13: note: '{' token is here
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12559:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12559:13: note: ')' token is here
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12559:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12559:13: note: ')' token is here
            FAIL2("panic: regpiece returned failure, flags=%#" UVxf, (UV) flags);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12574:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12574:17: note: '{' token is here
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12574:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12574:17: note: ')' token is here
                REQUIRE_BRANCHJ(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12636:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART_OR_FLAGS(flags, flagp, TRYAGAIN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12636:9: note: '{' token is here
        RETURN_FAIL_ON_RESTART_OR_FLAGS(flags, flagp, TRYAGAIN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:12636:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART_OR_FLAGS(flags, flagp, TRYAGAIN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:12636:9: note: ')' token is here
        RETURN_FAIL_ON_RESTART_OR_FLAGS(flags, flagp, TRYAGAIN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12637:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12637:9: note: '{' token is here
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:12637:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12637:9: note: '{' token is here
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12637:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12637:9: note: ')' token is here
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12637:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:12637:9: note: ')' token is here
        FAIL2("panic: regatom returned failure, flags=%#" UVxf, (UV) flags);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12665:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12665:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12665:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12665:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12665:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12665:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12665:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12665:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12667:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12667:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:12667:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12667:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12667:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12667:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12667:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12667:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:12667:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:12667:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12667:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:12667:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12679:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12679:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12679:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12679:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12679:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12679:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12679:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12679:21: note: '{' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12679:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12679:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12679:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12679:21: note: ')' token is here
                    vFAIL("Invalid quantifier in {,}");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12681:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12681:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:12681:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12681:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12681:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12681:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12681:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12681:21: note: '{' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:12681:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:12681:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12681:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:12681:21: note: ')' token is here
                    vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12691:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12691:17: note: '{' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:12691:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12691:17: note: '{' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12691:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12691:17: note: ')' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12691:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12691:17: note: '{' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:12691:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:12691:17: note: ')' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12691:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:12691:17: note: ')' token is here
                ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12698:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12698:17: note: '{' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:12698:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12698:17: note: '{' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12698:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12698:17: note: ')' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12698:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12698:17: note: '{' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:12698:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:12698:17: note: ')' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12698:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:12698:17: note: ')' token is here
                ckWARN2reg(RExC_parse + 1,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12717:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12717:25: note: '{' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12717:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12717:25: note: '{' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12717:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12717:25: note: ')' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12717:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12717:25: note: '{' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12717:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12717:25: note: ')' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12717:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12717:25: note: ')' token is here
                        vFAIL("Use of quantifier '*' is not allowed in"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12744:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12744:21: note: '{' token is here
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12744:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12744:21: note: ')' token is here
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12763:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12763:21: note: '{' token is here
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12763:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12763:21: note: ')' token is here
                    REQUIRE_BRANCHJ(flagp, 0);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12826:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12826:13: note: '{' token is here
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:12826:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12826:13: note: '{' token is here
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12826:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12826:13: note: ')' token is here
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12826:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:12826:13: note: ')' token is here
            vFAIL2utf8f(
            ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12834:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12834:13: note: '{' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:12834:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12834:13: note: '{' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12834:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12834:13: note: ')' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12834:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12834:13: note: '{' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:12834:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:12834:13: note: ')' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12834:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:12834:13: note: ')' token is here
            ckWARN2reg(RExC_parse,
            ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12847:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12847:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12847:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12847:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12855:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12855:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12855:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12855:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12860:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12860:13: note: '{' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:448:16: note: expanded from macro 'REQUIRE_BRANCHJ'
    STMT_START {                                                            \
               ^
regcomp.c:12860:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:5: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
    ^
regcomp.c:12860:13: note: ')' token is here
            REQUIRE_BRANCHJ(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:452:7: note: expanded from macro 'REQUIRE_BRANCHJ'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12866:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12866:2: note: '{' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:12866:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12866:2: note: '{' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:12866:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:12866:2: note: ')' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12866:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:12866:2: note: '{' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:12866:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:12866:2: note: ')' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:12866:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:12866:2: note: ')' token is here
        vFAIL("Nested quantifiers");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13011:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13011:9: note: '{' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13011:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13011:9: note: '{' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13011:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13011:9: note: ')' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13011:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13011:9: note: '{' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13011:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13011:9: note: ')' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13011:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13011:9: note: ')' token is here
        vFAIL("Missing braces on \\N{}");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13018:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13018:9: note: '{' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:13018:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13018:9: note: '{' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13018:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13018:9: note: ')' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13018:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13018:9: note: '{' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:13018:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:13018:9: note: ')' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13018:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:13018:9: note: ')' token is here
        vFAIL2("Missing right brace on \\%c{}", 'N');
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13023:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REQUIRE_UNI_RULES(flagp, FALSE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13023:5: note: '{' token is here
    REQUIRE_UNI_RULES(flagp, FALSE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:13023:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REQUIRE_UNI_RULES(flagp, FALSE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:13023:5: note: ')' token is here
    REQUIRE_UNI_RULES(flagp, FALSE);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13031:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13031:13: note: '{' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13031:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13031:13: note: '{' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13031:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13031:13: note: ')' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13031:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13031:13: note: '{' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13031:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13031:13: note: ')' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13031:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13031:13: note: ')' token is here
            vFAIL("Zero length \\N{}");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13082:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13082:17: note: '{' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13082:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13082:17: note: '{' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13082:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13082:17: note: ')' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13082:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13082:17: note: '{' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13082:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13082:17: note: ')' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13082:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13082:17: note: ')' token is here
                vFAIL(error_msg);
                ^~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13184:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13184:17: note: '{' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13184:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13184:17: note: '{' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13184:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13184:17: note: ')' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13184:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13184:17: note: '{' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13184:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13184:17: note: ')' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13184:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13184:17: note: ')' token is here
                vFAIL("Invalid hexadecimal number in \\N{U+...}");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13190:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13190:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13190:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13190:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13190:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13190:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13190:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13190:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13190:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13190:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13190:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13190:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, start_digit, len, 0));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13289:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:917:5: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13289:5: note: '{' token is here
    TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:917:16: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    STMT_START {                                                            \
               ^
regcomp.c:13289:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:920:5: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    } STMT_END
    ^
regcomp.c:13289:5: note: ')' token is here
    TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:920:7: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13303:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13303:9: note: '{' token is here
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:13303:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:13303:9: note: ')' token is here
        RETURN_FAIL_ON_RESTART(flags, flagp);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13304:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13304:9: note: '{' token is here
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:13304:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13304:9: note: '{' token is here
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13304:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13304:9: note: ')' token is here
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13304:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:13304:9: note: ')' token is here
        FAIL2("panic: reg returned failure to grok_bslash_N, flags=%#" UVxf,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13530:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13530:13: note: '{' token is here
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:13530:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13530:13: note: '{' token is here
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13530:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13530:13: note: ')' token is here
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13530:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:13530:13: note: ')' token is here
            FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13535:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13535:6: note: '{' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13535:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13535:6: note: '{' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13535:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13535:6: note: ')' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13535:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13535:6: note: '{' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13535:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13535:6: note: ')' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13535:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13535:6: note: ')' token is here
            vFAIL("Unmatched [");
            ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13553:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RETURN_FAIL_ON_RESTART(flags, flagp);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13553:17: note: '{' token is here
                RETURN_FAIL_ON_RESTART(flags, flagp);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:13553:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RETURN_FAIL_ON_RESTART(flags, flagp);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:13553:17: note: ')' token is here
                RETURN_FAIL_ON_RESTART(flags, flagp);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13554:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13554:17: note: '{' token is here
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:13554:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13554:17: note: '{' token is here
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13554:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13554:17: note: ')' token is here
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13554:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:13554:17: note: ')' token is here
                FAIL2("panic: reg returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13565:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13565:2: note: '{' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13565:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13565:2: note: '{' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13565:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13565:2: note: ')' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13565:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13565:2: note: '{' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13565:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13565:2: note: ')' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13565:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13565:2: note: ')' token is here
        vFAIL("Internal urp");
        ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13572:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13572:2: note: '{' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13572:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13572:2: note: '{' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13572:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13572:2: note: ')' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13572:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13572:2: note: '{' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13572:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13572:2: note: ')' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13572:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13572:2: note: ')' token is here
        vFAIL("Quantifier follows nothing");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13611:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13611:17: note: '{' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13611:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13611:17: note: '{' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13611:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13611:17: note: ')' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13611:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13611:17: note: '{' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13611:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13611:17: note: ')' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13611:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13611:17: note: ')' token is here
                vFAIL("Use of '\\G' is not allowed in Unicode property"
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13632:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13632:17: note: '{' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13632:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13632:17: note: '{' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13632:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13632:17: note: ')' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13632:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13632:17: note: '{' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13632:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13632:17: note: ')' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13632:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13632:17: note: ')' token is here
                vFAIL("\\K not permitted in lookahead/lookbehind");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13657:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13657:6: note: '{' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13657:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13657:6: note: '{' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13657:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13657:6: note: ')' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13657:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13657:6: note: '{' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13657:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13657:6: note: ')' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13657:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13657:6: note: ')' token is here
            vFAIL("\\C no longer supported");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13689:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13689:21: note: '{' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:13689:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13689:21: note: '{' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13689:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13689:21: note: ')' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13689:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13689:21: note: '{' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:13689:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:13689:21: note: ')' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13689:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:13689:21: note: ')' token is here
                    vFAIL2("Missing right brace on \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13699:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13699:21: note: '{' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:13699:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13699:21: note: '{' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13699:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13699:21: note: ')' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13699:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13699:21: note: '{' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:13699:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:13699:21: note: ')' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13699:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:13699:21: note: ')' token is here
                    vFAIL2("Empty \\%c{}", name);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13735:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13735:4: note: '{' token is here
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:13735:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13735:4: note: '{' token is here
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13735:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13735:4: note: ')' token is here
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13735:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:13735:4: note: ')' token is here
                        vFAIL2utf8f(
                        ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13741:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13741:17: note: '{' token is here
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:13741:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:13741:17: note: ')' token is here
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13752:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13752:21: note: '{' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:13752:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13752:21: note: '{' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13752:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13752:21: note: ')' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13752:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13752:21: note: '{' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:13752:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:13752:21: note: ')' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13752:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:13752:21: note: ')' token is here
                    ckWARN4reg(RExC_parse + 1,  /* Include the '}' in msg */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13816:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13816:17: note: '{' token is here
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:13816:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13816:17: note: '{' token is here
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13816:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13816:17: note: ')' token is here
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13816:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:13816:17: note: ')' token is here
                FAIL2("panic: regclass returned failure to regatom, flags=%#" UVxf,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13830:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13830:17: note: '{' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13830:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13830:17: note: '{' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13830:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13830:17: note: ')' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13830:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13830:17: note: '{' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13830:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13830:17: note: ')' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13830:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13830:17: note: ')' token is here
                vFAIL("Unescaped left brace in regex is illegal here");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13879:10: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13879:10: note: '{' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:13879:10: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13879:10: note: '{' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13879:10: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13879:10: note: ')' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13879:10: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13879:10: note: '{' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:13879:10: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:13879:10: note: ')' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13879:10: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:13879:10: note: ')' token is here
                vFAIL2("Sequence %.2s... not terminated", parse_start);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13923:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13923:25: note: '{' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13923:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13923:25: note: '{' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13923:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13923:25: note: ')' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13923:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13923:25: note: '{' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13923:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13923:25: note: ')' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13923:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13923:25: note: ')' token is here
                        vFAIL("Reference to invalid group 0");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13926:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13926:8: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13926:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13926:8: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13926:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13926:8: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13926:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13926:8: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13926:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13926:8: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13926:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13926:8: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13929:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13929:29: note: '{' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13929:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13929:29: note: '{' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13929:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13929:29: note: ')' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13929:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13929:29: note: '{' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13929:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13929:29: note: ')' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13929:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13929:29: note: ')' token is here
                            vFAIL("Unterminated \\g... pattern");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13935:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13935:29: note: '{' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13935:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13935:29: note: '{' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13935:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13935:29: note: ')' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13935:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13935:29: note: '{' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13935:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13935:29: note: ')' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13935:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13935:29: note: ')' token is here
                            vFAIL("Reference to nonexistent or unclosed group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13975:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13975:25: note: '{' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13975:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13975:25: note: '{' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13975:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13975:25: note: ')' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13975:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13975:25: note: '{' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13975:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13975:25: note: ')' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13975:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13975:25: note: ')' token is here
                        vFAIL("Unterminated \\g{...} pattern");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13985:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13985:29: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:13985:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13985:29: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:13985:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:13985:29: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13985:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13985:29: note: '{' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:13985:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:13985:29: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13985:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:13985:29: note: ')' token is here
                            vFAIL("Reference to nonexistent group");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:13989:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:13989:25: note: '{' token is here
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:462:16: note: expanded from macro 'REQUIRE_PARENS_PASS'
    STMT_START {  /* No-op if have completed a pass */                      \
               ^
regcomp.c:13989:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:5: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
    ^
regcomp.c:13989:25: note: ')' token is here
                        REQUIRE_PARENS_PASS;
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:464:7: note: expanded from macro 'REQUIRE_PARENS_PASS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14018:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14018:3: note: '{' token is here
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:14018:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14018:3: note: '{' token is here
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14018:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14018:3: note: ')' token is here
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14018:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:14018:3: note: ')' token is here
                FAIL("Trailing \\");
                ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14126:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FILL_NODE(ret, node_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14126:13: note: '{' token is here
            FILL_NODE(ret, node_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:14126:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FILL_NODE(ret, node_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:14126:13: note: ')' token is here
            FILL_NODE(ret, node_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14253:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14253:33: note: '{' token is here
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:14253:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14253:33: note: '{' token is here
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14253:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14253:33: note: ')' token is here
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14253:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:14253:33: note: ')' token is here
                                FAIL("panic: grok_bslash_N set NEED_UTF8");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14314:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14314:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:14314:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14314:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14314:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14314:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14314:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14314:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:14314:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:14314:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14314:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:14314:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14318:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14318:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14318:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14318:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14318:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14318:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14318:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14318:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14318:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14318:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14318:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14318:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14333:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14333:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:14333:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14333:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14333:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14333:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14333:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14333:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:14333:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:14333:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14333:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:14333:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14337:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14337:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14337:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14337:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14337:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14337:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14337:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14337:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14337:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14337:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14337:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14337:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14358:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14358:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:14358:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14358:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14358:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14358:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14358:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14358:29: note: '{' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:14358:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:14358:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14358:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:14358:29: note: ')' token is here
                            vFAIL(message);
                            ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14364:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14364:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14364:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14364:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14364:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14364:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14364:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14364:29: note: '{' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14364:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14364:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14364:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14364:29: note: ')' token is here
                            warn_non_literal_string(p, packed_warn, message);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14410:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14410:5: note: '{' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14410:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14410:5: note: '{' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14410:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14410:5: note: ')' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14410:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14410:5: note: '{' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14410:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14410:5: note: ')' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14410:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14410:5: note: ')' token is here
                                reg_warn_non_literal_string(
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14419:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14419:8: note: '{' token is here
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:14419:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14419:8: note: '{' token is here
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14419:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14419:8: note: ')' token is here
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14419:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:14419:8: note: ')' token is here
                            FAIL("Trailing \\");
                            ^~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14427:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14427:33: note: '{' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14427:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14427:33: note: '{' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14427:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14427:33: note: ')' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14427:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14427:33: note: '{' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14427:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14427:33: note: ')' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14427:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14427:33: note: ')' token is here
                                ckWARN2reg(p + 1, "Unrecognized escape \\%.1s"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14458:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14458:29: note: '{' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:14458:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14458:29: note: '{' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14458:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14458:29: note: ')' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14458:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14458:29: note: '{' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:14458:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:14458:29: note: ')' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14458:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:14458:29: note: ')' token is here
                            vFAIL("Unescaped left brace in regex is "
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14461:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14461:25: note: '{' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14461:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14461:25: note: '{' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14461:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14461:25: note: ')' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14461:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14461:25: note: '{' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14461:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14461:25: note: ')' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14461:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14461:25: note: ')' token is here
                        ckWARNreg(p + 1, "Unescaped left brace in regex is"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14468:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14468:25: note: '{' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14468:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14468:25: note: '{' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14468:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14468:25: note: ')' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14468:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14468:25: note: '{' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14468:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14468:25: note: ')' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14468:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14468:25: note: ')' token is here
                        ckWARN2reg(p + 1, "Unescaped literal '%c'", *p);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14489:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_UTF8(flagp);
                    ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:29: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14489:21: note: '{' token is here
                    REQUIRE_UTF8(flagp);
                    ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:40: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                                       ^
regcomp.c:14489:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REQUIRE_UTF8(flagp);
                    ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:30: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                             ^
regcomp.c:14489:21: note: ')' token is here
                    REQUIRE_UTF8(flagp);
                    ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:32: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14493:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:968:5: note: expanded from macro 'ckWARN2_non_literal_string'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14493:25: note: '{' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:968:16: note: expanded from macro 'ckWARN2_non_literal_string'
    STMT_START {                                                            \
               ^
regcomp.c:14493:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14493:25: note: '{' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:14493:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14493:25: note: '{' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:14493:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:14493:25: note: ')' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14493:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14493:25: note: '{' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:14493:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:14493:25: note: ')' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14493:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:14493:25: note: ')' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14493:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:979:5: note: expanded from macro 'ckWARN2_non_literal_string'
    } STMT_END
    ^
regcomp.c:14493:25: note: ')' token is here
                        ckWARN2_non_literal_string(p,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:979:7: note: expanded from macro 'ckWARN2_non_literal_string'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:14815:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FILL_NODE(ret, node_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:14815:21: note: '{' token is here
                    FILL_NODE(ret, node_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:14815:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FILL_NODE(ret, node_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:14815:21: note: ')' token is here
                    FILL_NODE(ret, node_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15211:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15211:33: note: '{' token is here
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:15211:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15211:33: note: '{' token is here
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:15211:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:15211:33: note: ')' token is here
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15211:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:15211:33: note: ')' token is here
                                FAIL2("panic: loc_correspondence[%d] is 0",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15344:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:5: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15344:17: note: '{' token is here
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:15: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
              ^
regcomp.c:15344:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:5: note: expanded from macro 'setSTR_LEN'
    } STMT_END
    ^
regcomp.c:15344:17: note: ')' token is here
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:7: note: expanded from macro 'setSTR_LEN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15362:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15362:7: note: '{' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:15362:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15362:7: note: '{' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:15362:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:15362:7: note: ')' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15362:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15362:7: note: '{' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:15362:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:15362:7: note: ')' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15362:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:15362:7: note: ')' token is here
                    vFAIL("Internal disaster");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15377:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15377:13: note: '{' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:15377:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15377:13: note: '{' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:15377:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:15377:13: note: ')' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15377:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15377:13: note: '{' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:15377:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:15377:13: note: ')' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15377:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:15377:13: note: ')' token is here
            vFAIL("Unescaped left brace in regex is illegal here");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15379:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15379:9: note: '{' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:15379:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15379:9: note: '{' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:15379:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:15379:9: note: ')' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15379:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15379:9: note: '{' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:15379:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:15379:9: note: ')' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15379:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:15379:9: note: ')' token is here
        ckWARNreg(RExC_parse + 1, "Unescaped left brace in regex is"
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15630:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_POSIX_WARNINGS();
    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15630:5: note: '{' token is here
    CLEAR_POSIX_WARNINGS();
    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:15630:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_POSIX_WARNINGS();
    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:15630:5: note: ')' token is here
    CLEAR_POSIX_WARNINGS();
    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15637:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, "it doesn't start with a '['");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15637:9: note: '{' token is here
        ADD_POSIX_WARNING(p, "it doesn't start with a '['");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15637:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, "it doesn't start with a '['");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15637:9: note: ')' token is here
        ADD_POSIX_WARNING(p, "it doesn't start with a '['");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15653:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15653:9: note: '{' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15653:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15653:9: note: ')' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15712:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:25: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15712:21: note: '{' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:36: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                                   ^
regcomp.c:15712:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15712:21: note: '{' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:15712:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:15712:21: note: ')' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15712:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:34: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15712:21: note: '{' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:45: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                            ^
regcomp.c:15712:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:878:57: note: expanded from macro 'Simple_vFAIL3'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:15712:21: note: ')' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:879:3: note: expanded from macro 'Simple_vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15712:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:34: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
                                                        ^
regcomp.c:15712:21: note: ')' token is here
                    vFAIL3("POSIX syntax [%c %c] is reserved for future "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:887:3: note: expanded from macro 'vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15722:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15722:17: note: '{' token is here
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:15722:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15722:17: note: '{' token is here
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:15722:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:15722:17: note: ')' token is here
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15722:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:15722:17: note: ')' token is here
                CLEAR_POSIX_WARNINGS_AND_RETURN(OOB_NAMEDCLASS);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15737:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p + 1, "the '^' must come after the colon");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15737:9: note: '{' token is here
        ADD_POSIX_WARNING(p + 1, "the '^' must come after the colon");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15737:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p + 1, "the '^' must come after the colon");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15737:9: note: ')' token is here
        ADD_POSIX_WARNING(p + 1, "the '^' must come after the colon");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15748:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15748:13: note: '{' token is here
            ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15748:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15748:13: note: ')' token is here
            ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15762:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15762:9: note: '{' token is here
        ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15762:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15762:9: note: ')' token is here
        ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15767:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, "there must be a starting ':'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15767:9: note: '{' token is here
        ADD_POSIX_WARNING(p, "there must be a starting ':'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15767:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, "there must be a starting ':'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15767:9: note: ')' token is here
        ADD_POSIX_WARNING(p, "there must be a starting ':'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15784:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15784:9: note: '{' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15784:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15784:9: note: ')' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15792:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15792:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:15792:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15792:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:15792:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:15792:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15792:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:15792:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15807:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15807:9: note: '{' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15807:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15807:9: note: ')' token is here
        ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15819:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15819:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:15819:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15819:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:15819:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:15819:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15819:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:15819:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15829:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15829:13: note: '{' token is here
            ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:15829:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:15829:13: note: ')' token is here
            ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15836:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15836:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:15836:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:15836:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:15836:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:15836:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:15836:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:15836:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16006:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16006:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:16006:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16006:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:16006:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:16006:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16006:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:16006:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16056:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16056:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:16056:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16056:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:16056:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:16056:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16056:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:16056:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16215:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16215:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:16215:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16215:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:16215:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:16215:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16215:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:16215:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(NOT_MEANT_TO_BE_A_POSIX_CLASS);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16234:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "the name must be all lowercase letters");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16234:17: note: '{' token is here
                ADD_POSIX_WARNING(p, "the name must be all lowercase letters");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:16234:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "the name must be all lowercase letters");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:16234:17: note: ')' token is here
                ADD_POSIX_WARNING(p, "the name must be all lowercase letters");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16237:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16237:17: note: '{' token is here
                ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:16237:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:16237:17: note: ')' token is here
                ADD_POSIX_WARNING(p, NO_BLANKS_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16240:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16240:17: note: '{' token is here
                ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:16240:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:16240:17: note: ')' token is here
                ADD_POSIX_WARNING(p, SEMI_COLON_POSIX_WARNING);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16243:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "there is no terminating ':'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16243:17: note: '{' token is here
                ADD_POSIX_WARNING(p, "there is no terminating ':'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:16243:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "there is no terminating ':'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:16243:17: note: ')' token is here
                ADD_POSIX_WARNING(p, "there is no terminating ':'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16246:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "there is no terminating ']'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:37: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16246:17: note: '{' token is here
                ADD_POSIX_WARNING(p, "there is no terminating ']'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15478:48: note: expanded from macro 'ADD_POSIX_WARNING'
#define ADD_POSIX_WARNING(p, text)  STMT_START {                            \
                                               ^
regcomp.c:16246:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ADD_POSIX_WARNING(p, "there is no terminating ']'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:5: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
    ^
regcomp.c:16246:17: note: ')' token is here
                ADD_POSIX_WARNING(p, "there is no terminating ']'");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15488:7: note: expanded from macro 'ADD_POSIX_WARNING'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16260:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16260:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15496:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    STMT_START {                                                            \
               ^
regcomp.c:16260:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16260:13: note: '{' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:16260:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:16260:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15497:9: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
        CLEAR_POSIX_WARNINGS();                                             \
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16260:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
    ^
regcomp.c:16260:13: note: ')' token is here
            CLEAR_POSIX_WARNINGS_AND_RETURN(class_number + complement);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15499:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS_AND_RETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16270:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:909:32: note: expanded from macro 'vFAIL3utf8f'
#define vFAIL3utf8f(m, a1, a2) STMT_START {             \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16270:13: note: '{' token is here
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:909:43: note: expanded from macro 'vFAIL3utf8f'
#define vFAIL3utf8f(m, a1, a2) STMT_START {             \
                                          ^
regcomp.c:16270:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:910:5: note: expanded from macro 'vFAIL3utf8f'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16270:13: note: '{' token is here
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:910:5: note: expanded from macro 'vFAIL3utf8f'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16270:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:910:5: note: expanded from macro 'vFAIL3utf8f'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16270:13: note: ')' token is here
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:910:5: note: expanded from macro 'vFAIL3utf8f'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16270:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:912:57: note: expanded from macro 'vFAIL3utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));          \
                                                        ^
regcomp.c:16270:13: note: ')' token is here
            vFAIL3utf8f("POSIX class [:%s%" UTF8f ":] unknown",
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:913:3: note: expanded from macro 'vFAIL3utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16350:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REQUIRE_UNI_RULES(flagp, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16350:5: note: '{' token is here
    REQUIRE_UNI_RULES(flagp, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:16350:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REQUIRE_UNI_RULES(flagp, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:16350:5: note: ')' token is here
    REQUIRE_UNI_RULES(flagp, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16352:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1059:5: note: expanded from macro 'ckWARNexperimental'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16352:5: note: '{' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1059:16: note: expanded from macro 'ckWARNexperimental'
    STMT_START {                                                        \
               ^
regcomp.c:16352:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16352:5: note: '{' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:16352:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16352:5: note: '{' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16352:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16352:5: note: ')' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16352:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16352:5: note: '{' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:16352:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:16352:5: note: ')' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16352:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:16352:5: note: ')' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1062:13: note: expanded from macro 'ckWARNexperimental'
            _WARN_HELPER(loc, packWARN(class),                          \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16352:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1067:5: note: expanded from macro 'ckWARNexperimental'
    } STMT_END
    ^
regcomp.c:16352:5: note: ')' token is here
    ckWARNexperimental(RExC_parse,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1067:7: note: expanded from macro 'ckWARNexperimental'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16497:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16497:21: note: '{' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:16497:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:16497:21: note: ')' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16507:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16507:25: note: '{' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16507:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16507:25: note: '{' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16507:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16507:25: note: ')' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16507:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16507:25: note: '{' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16507:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16507:25: note: ')' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16507:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16507:25: note: ')' token is here
                        vFAIL("Expecting interpolated extended charclass");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16533:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16533:25: note: '{' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16533:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16533:25: note: '{' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16533:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16533:25: note: ')' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16533:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16533:25: note: '{' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16533:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16533:25: note: ')' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16533:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16533:25: note: ')' token is here
                        vFAIL("Unexpected '(' with no preceding operator");
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16553:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16553:21: note: '{' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:16553:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:16553:21: note: ')' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16592:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16592:21: note: '{' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:16592:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:16592:21: note: ')' token is here
                    RETURN_FAIL_ON_RESTART(*flagp, flagp);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16621:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16621:21: note: '{' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16621:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16621:21: note: '{' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16621:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16621:21: note: ')' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16621:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16621:21: note: '{' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16621:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16621:21: note: ')' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16621:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16621:21: note: ')' token is here
                    vFAIL("Unexpected ')'");
                    ^~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16706:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16706:21: note: '{' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:16706:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16706:21: note: '{' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16706:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16706:21: note: ')' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16706:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16706:21: note: '{' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:16706:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:16706:21: note: ')' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16706:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:16706:21: note: ')' token is here
                    vFAIL2("Unexpected binary operator '%c' with no "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16809:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16809:17: note: '{' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16809:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16809:17: note: '{' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16809:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16809:17: note: ')' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16809:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16809:17: note: '{' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16809:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16809:17: note: ')' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16809:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16809:17: note: ')' token is here
                vFAIL("Unexpected character");
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16832:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16832:25: note: '{' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:16832:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16832:25: note: '{' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16832:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16832:25: note: ')' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16832:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16832:25: note: '{' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:16832:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:16832:25: note: ')' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16832:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:16832:25: note: ')' token is here
                        vFAIL2("Unexpected binary operator '%c' with no "
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16855:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16855:21: note: '{' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16855:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16855:21: note: '{' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16855:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16855:21: note: ')' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16855:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16855:21: note: '{' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16855:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16855:21: note: ')' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16855:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16855:21: note: ')' token is here
                    vFAIL("Operand with no preceding operator");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16868:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16868:5: note: '{' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16868:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16868:5: note: '{' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16868:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16868:5: note: ')' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16868:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16868:5: note: '{' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16868:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16868:5: note: ')' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16868:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16868:5: note: ')' token is here
    vFAIL("Syntax error in (?[...])");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16877:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16877:9: note: '{' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16877:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16877:9: note: '{' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16877:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16877:9: note: ')' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16877:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16877:9: note: '{' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16877:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16877:9: note: ')' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16877:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16877:9: note: ')' token is here
        vFAIL("Unexpected ']' with no following ')' in (?[...");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16881:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16881:9: note: '{' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16881:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16881:9: note: '{' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16881:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16881:9: note: ')' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16881:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16881:9: note: '{' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16881:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16881:9: note: ')' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16881:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16881:9: note: ')' token is here
        vFAIL("Unmatched (");
        ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16892:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16892:9: note: '{' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:16892:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16892:9: note: '{' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16892:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16892:9: note: ')' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16892:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16892:9: note: '{' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:16892:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:16892:9: note: ')' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16892:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:16892:9: note: ')' token is here
        vFAIL("Incomplete expression within '(?[ ])'");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16929:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:917:5: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16929:9: note: '{' token is here
        TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:917:16: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    STMT_START {                                                            \
               ^
regcomp.c:16929:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:920:5: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    } STMT_END
    ^
regcomp.c:16929:9: note: ')' token is here
        TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:920:7: note: expanded from macro 'TURN_OFF_WARNINGS_IN_SUBSTITUTE_PARSE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16963:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(*flagp, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16963:13: note: '{' token is here
            RETURN_FAIL_ON_RESTART(*flagp, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:475:16: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    STMT_START {                                                            \
               ^
regcomp.c:16963:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RETURN_FAIL_ON_RESTART(*flagp, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:5: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
    ^
regcomp.c:16963:13: note: ')' token is here
            RETURN_FAIL_ON_RESTART(*flagp, flagp);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:485:25: note: expanded from macro 'RETURN_FAIL_ON_RESTART'
                        RETURN_FAIL_ON_RESTART_OR_FLAGS( flags, flagp, 0)
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:480:7: note: expanded from macro 'RETURN_FAIL_ON_RESTART_OR_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16999:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16999:5: note: '{' token is here
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:16999:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:16999:5: note: '{' token is here
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:16999:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:16999:5: note: ')' token is here
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:16999:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:16999:5: note: ')' token is here
    FAIL2("panic: regclass returned failure to handle_sets, " "flags=%#" UVxf,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:832:24: note: expanded from macro 'FAIL2'
#define FAIL2(msg,arg) _FAIL(                       \
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17126:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17126:17: note: '{' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17126:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17126:17: note: '{' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17126:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17126:17: note: ')' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17126:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17126:17: note: '{' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17126:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17126:17: note: ')' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17126:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17126:17: note: ')' token is here
                ckWARN2reg_d(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1013:5: note: expanded from macro 'ckWARN2reg_d'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17160:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_POSIX_WARNINGS();
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17160:9: note: '{' token is here
        CLEAR_POSIX_WARNINGS();
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15490:16: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    STMT_START {                                                            \
               ^
regcomp.c:17160:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_POSIX_WARNINGS();
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:5: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
    ^
regcomp.c:17160:9: note: ')' token is here
        CLEAR_POSIX_WARNINGS();
        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:15493:7: note: expanded from macro 'CLEAR_POSIX_WARNINGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17170:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PREPARE_TO_DIE;
            ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17170:13: note: '{' token is here
            PREPARE_TO_DIE;
            ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17170:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PREPARE_TO_DIE;
            ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17170:13: note: ')' token is here
            PREPARE_TO_DIE;
            ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17176:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    UPDATE_WARNINGS_LOC(RExC_parse);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17176:5: note: '{' token is here
    UPDATE_WARNINGS_LOC(RExC_parse);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17176:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    UPDATE_WARNINGS_LOC(RExC_parse);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17176:5: note: ')' token is here
    UPDATE_WARNINGS_LOC(RExC_parse);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17433:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17433:5: note: '{' token is here
    SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:16: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
               ^
regcomp.c:17433:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
    ^
regcomp.c:17433:5: note: ')' token is here
    SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:7: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17442:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17442:9: note: '{' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:16: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
               ^
regcomp.c:17442:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
    ^
regcomp.c:17442:9: note: ')' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:7: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17453:13: note: '{' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17453:13: note: '{' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17453:13: note: ')' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17453:13: note: '{' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17453:13: note: ')' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17453:13: note: ')' token is here
            ckWARN4reg(not_posix_region_end,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1045:5: note: expanded from macro 'ckWARN4reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17489:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17489:9: note: '{' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:16: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
               ^
regcomp.c:17489:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
    ^
regcomp.c:17489:9: note: ')' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:7: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17563:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17563:13: note: '{' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17563:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17563:13: note: '{' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17563:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17563:13: note: ')' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17563:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17563:13: note: '{' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17563:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17563:13: note: ')' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17563:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17563:13: note: ')' token is here
            vFAIL("Literal vertical space in [] is illegal except under /x");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17569:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17569:17: note: '{' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17569:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17569:17: note: '{' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17569:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17569:17: note: ')' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17569:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17569:17: note: '{' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17569:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17569:17: note: ')' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17569:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17569:17: note: ')' token is here
                vFAIL("Unmatched [");
                ^~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17621:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17621:29: note: '{' token is here
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:17621:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17621:29: note: '{' token is here
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17621:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17621:29: note: ')' token is here
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17621:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:17621:29: note: ')' token is here
                            FAIL("panic: grok_bslash_N set NEED_UTF8");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17626:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17626:29: note: '{' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17626:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17626:29: note: '{' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17626:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17626:29: note: ')' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17626:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17626:29: note: '{' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17626:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17626:29: note: ')' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17626:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17626:29: note: ')' token is here
                            vFAIL("\\N in a character class must be a named character: \\N{...}");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17629:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17629:29: note: '{' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17629:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17629:29: note: '{' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17629:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17629:29: note: ')' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17629:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17629:29: note: '{' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17629:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17629:29: note: ')' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17629:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17629:29: note: ')' token is here
                            ckWARNreg(RExC_parse,
                            ^~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17642:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17642:41: note: '{' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17642:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17642:41: note: '{' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17642:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17642:41: note: ')' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17642:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17642:41: note: '{' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17642:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17642:41: note: ')' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17642:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17642:41: note: ')' token is here
                                        vFAIL("\\N{} here is restricted to one character");
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17644:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17644:37: note: '{' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17644:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17644:37: note: '{' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17644:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17644:37: note: ')' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17644:37: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17644:37: note: '{' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17644:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17644:37: note: ')' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17644:37: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17644:37: note: ')' token is here
                                    ckWARNreg(RExC_parse, "Using just the first character returned by \\N{} in character class");
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17682:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:25: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17682:21: note: '{' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:884:36: note: expanded from macro 'vFAIL3'
#define vFAIL3(m,a1,a2) STMT_START {                    \
                                   ^
regcomp.c:17682:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17682:21: note: '{' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17682:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17682:21: note: ')' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:885:5: note: expanded from macro 'vFAIL3'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17682:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:34: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17682:21: note: '{' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:876:45: note: expanded from macro 'Simple_vFAIL3'
#define Simple_vFAIL3(m, a1, a2) STMT_START {                   \
                                            ^
regcomp.c:17682:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:878:57: note: expanded from macro 'Simple_vFAIL3'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:17682:21: note: ')' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:5: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:879:3: note: expanded from macro 'Simple_vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17682:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:886:34: note: expanded from macro 'vFAIL3'
    Simple_vFAIL3(m, a1, a2);                           \
                                                        ^
regcomp.c:17682:21: note: ')' token is here
                    vFAIL3("Use of '\\%c%c' is not allowed in Unicode property"
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:887:3: note: expanded from macro 'vFAIL3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17687:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17687:3: note: '{' token is here
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:17687:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:17687:3: note: ')' token is here
                REQUIRE_UNI_RULES(flagp, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17690:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17690:7: note: '{' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:17690:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17690:7: note: '{' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17690:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17690:7: note: ')' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17690:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17690:7: note: '{' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:17690:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:17690:7: note: ')' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17690:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:17690:7: note: ')' token is here
                    vFAIL2("Empty \\%c", (U8)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17696:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17696:25: note: '{' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:17696:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17696:25: note: '{' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17696:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17696:25: note: ')' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17696:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17696:25: note: '{' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:17696:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:17696:25: note: ')' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17696:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:17696:25: note: ')' token is here
                        vFAIL2("Missing right brace on \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17721:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17721:25: note: '{' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:17721:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17721:25: note: '{' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17721:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17721:25: note: ')' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17721:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17721:25: note: '{' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:17721:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:17721:25: note: ')' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17721:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:17721:25: note: ')' token is here
                        vFAIL2("Empty \\%c{}", c);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17732:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17732:21: note: '{' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:17732:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17732:21: note: '{' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17732:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17732:21: note: ')' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17732:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17732:21: note: '{' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:17732:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:17732:21: note: ')' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17732:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:17732:21: note: ')' token is here
                    vFAIL2("Character following \\%c must be '{' or a "
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17774:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17774:25: note: '{' token is here
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:17774:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17774:25: note: '{' token is here
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17774:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17774:25: note: ')' token is here
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17774:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:17774:25: note: ')' token is here
                        vFAIL2utf8f("%" UTF8f, UTF8fARG(SvUTF8(msg),
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17784:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17784:33: note: '{' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17784:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17784:33: note: '{' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17784:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17784:33: note: ')' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17784:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17784:33: note: '{' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17784:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17784:33: note: ')' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17784:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17784:33: note: ')' token is here
                                vFAIL("Unicode string properties are not implemented in (?[...])");
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17787:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17787:33: note: '{' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17787:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17787:33: note: '{' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17787:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17787:33: note: ')' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17787:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17787:33: note: '{' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17787:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17787:33: note: ')' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17787:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17787:33: note: ')' token is here
                                ckWARNreg(e + 1,
                                ^~~~~~~~~~~~~~~~
regcomp.c:982:5: note: expanded from macro 'ckWARNreg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17795:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17795:33: note: '{' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17795:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17795:33: note: '{' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17795:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17795:33: note: ')' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17795:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17795:33: note: '{' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17795:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17795:33: note: ')' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17795:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17795:33: note: ')' token is here
                                vFAIL("Inverting a character class which contains"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17814:41: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        REQUIRE_UTF8(flagp);
                                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:29: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17814:41: note: '{' token is here
                                        REQUIRE_UTF8(flagp);
                                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:40: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                                       ^
regcomp.c:17814:41: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                        REQUIRE_UTF8(flagp);
                                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:30: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                             ^
regcomp.c:17814:41: note: ')' token is here
                                        REQUIRE_UTF8(flagp);
                                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:32: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17925:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17925:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17925:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17925:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17925:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17925:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17925:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17925:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17925:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17925:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17925:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17925:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17928:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17928:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17928:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17928:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17928:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17928:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17928:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17928:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17928:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17928:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17928:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17928:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17947:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17947:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17947:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17947:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17947:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17947:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17947:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17947:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17947:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17947:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17947:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17947:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17950:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17950:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17950:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17950:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17950:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17950:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17950:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17950:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17950:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17950:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17950:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17950:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17966:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17966:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17966:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17966:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17966:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17966:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17966:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17966:21: note: '{' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17966:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17966:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17966:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17966:21: note: ')' token is here
                    vFAIL(message);
                    ^~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17972:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17972:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17972:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17972:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17972:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17972:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17972:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17972:21: note: '{' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17972:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17972:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17972:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17972:21: note: ')' token is here
                    warn_non_literal_string(RExC_parse, packed_warn, message);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17991:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17991:29: note: '{' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:17991:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17991:29: note: '{' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17991:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17991:29: note: ')' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17991:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17991:29: note: '{' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:17991:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:17991:29: note: ')' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17991:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:17991:29: note: ')' token is here
                            vFAIL("Need exactly 3 octal digits");
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17998:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17998:29: note: '{' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:17998:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17998:29: note: '{' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:17998:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:17998:29: note: ')' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17998:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:17998:29: note: '{' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:17998:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:17998:29: note: ')' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:17998:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:17998:29: note: ')' token is here
                            reg_warn_non_literal_string(
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:965:17: note: expanded from macro 'reg_warn_non_literal_string'
                warn_non_literal_string(loc, packWARN(WARN_REGEXP), m)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:960:5: note: expanded from macro 'warn_non_literal_string'
    _WARN_HELPER(loc, packed_warn,                                      \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18013:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:22: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18013:25: note: '{' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:867:33: note: expanded from macro 'vFAIL2'
#define vFAIL2(m,a1) STMT_START {                       \
                                ^
regcomp.c:18013:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18013:25: note: '{' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18013:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18013:25: note: ')' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:868:5: note: expanded from macro 'vFAIL2'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18013:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:29: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18013:25: note: '{' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:859:40: note: expanded from macro 'Simple_vFAIL2'
#define Simple_vFAIL2(m,a1) STMT_START {                        \
                                       ^
regcomp.c:18013:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:861:58: note: expanded from macro 'Simple_vFAIL2'
                      REPORT_LOCATION_ARGS(RExC_parse));        \
                                                                ^
regcomp.c:18013:25: note: ')' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:5: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
    ^~~~~~~~~~~~~~~~~~~~
regcomp.c:862:3: note: expanded from macro 'Simple_vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18013:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:869:30: note: expanded from macro 'vFAIL2'
    Simple_vFAIL2(m, a1);                               \
                                                        ^
regcomp.c:18013:25: note: ')' token is here
                        vFAIL2("Unrecognized escape \\%c in character class",
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:870:3: note: expanded from macro 'vFAIL2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18017:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18017:25: note: '{' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18017:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18017:25: note: '{' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18017:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18017:25: note: ')' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18017:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18017:25: note: '{' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18017:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18017:25: note: ')' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18017:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18017:25: note: ')' token is here
                        ckWARN2reg(RExC_parse,
                        ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18039:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18039:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:18039:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18039:21: note: '{' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18039:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18039:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18039:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:18039:21: note: ')' token is here
                    vFAIL2utf8f(
                    ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18044:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18044:21: note: '{' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18044:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18044:21: note: '{' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18044:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18044:21: note: ')' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18044:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18044:21: note: '{' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18044:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18044:21: note: ')' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18044:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18044:21: note: ')' token is here
                    ckWARN2reg(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~~~~~
regcomp.c:1019:5: note: expanded from macro 'ckWARN2reg'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                                \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18081:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    POSIXL_ZERO(posixl);
                    ^~~~~~~~~~~~~~~~~~~
./regcomp.h:691:28: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18081:21: note: '{' token is here
                    POSIXL_ZERO(posixl);
                    ^~~~~~~~~~~~~~~~~~~
./regcomp.h:691:39: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                           ^
regcomp.c:18081:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    POSIXL_ZERO(posixl);
                    ^~~~~~~~~~~~~~~~~~~
./regcomp.h:691:54: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                          ^
regcomp.c:18081:21: note: ')' token is here
                    POSIXL_ZERO(posixl);
                    ^~~~~~~~~~~~~~~~~~~
./regcomp.h:691:56: note: expanded from macro 'POSIXL_ZERO'
#define POSIXL_ZERO(field)      STMT_START { (field) = 0; } STMT_END
                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18183:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18183:9: note: '{' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:16: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
               ^
regcomp.c:18183:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
    ^
regcomp.c:18183:9: note: ')' token is here
        SKIP_BRACKETED_WHITE_SPACE(skip_white, RExC_parse, RExC_end);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:7: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18212:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:903:28: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18212:17: note: '{' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:903:39: note: expanded from macro 'vFAIL2utf8f'
#define vFAIL2utf8f(m, a1) STMT_START {             \
                                      ^
regcomp.c:18212:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18212:17: note: '{' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18212:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18212:17: note: ')' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:904:5: note: expanded from macro 'vFAIL2utf8f'
    PREPARE_TO_DIE;                                 \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18212:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:906:53: note: expanded from macro 'vFAIL2utf8f'
            REPORT_LOCATION_ARGS(RExC_parse));      \
                                                    ^
regcomp.c:18212:17: note: ')' token is here
                vFAIL2utf8f(
                ^~~~~~~~~~~~
regcomp.c:907:3: note: expanded from macro 'vFAIL2utf8f'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18226:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SKIP_BRACKETED_WHITE_SPACE(skip_white, next_char_ptr, RExC_end);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18226:17: note: '{' token is here
                SKIP_BRACKETED_WHITE_SPACE(skip_white, next_char_ptr, RExC_end);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17255:16: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    STMT_START {                                                        \
               ^
regcomp.c:18226:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SKIP_BRACKETED_WHITE_SPACE(skip_white, next_char_ptr, RExC_end);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:5: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
    ^
regcomp.c:18226:17: note: ')' token is here
                SKIP_BRACKETED_WHITE_SPACE(skip_white, next_char_ptr, RExC_end);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:17262:7: note: expanded from macro 'SKIP_BRACKETED_WHITE_SPACE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18240:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:897:28: note: expanded from macro 'vFAIL4'
#define vFAIL4(m,a1,a2,a3) STMT_START {                 \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18240:33: note: '{' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:897:39: note: expanded from macro 'vFAIL4'
#define vFAIL4(m,a1,a2,a3) STMT_START {                 \
                                      ^
regcomp.c:18240:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:898:5: note: expanded from macro 'vFAIL4'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18240:33: note: '{' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:898:5: note: expanded from macro 'vFAIL4'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18240:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:898:5: note: expanded from macro 'vFAIL4'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18240:33: note: ')' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:898:5: note: expanded from macro 'vFAIL4'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18240:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:899:5: note: expanded from macro 'vFAIL4'
    Simple_vFAIL4(m, a1, a2, a3);                       \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:892:38: note: expanded from macro 'Simple_vFAIL4'
#define Simple_vFAIL4(m, a1, a2, a3) STMT_START {               \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18240:33: note: '{' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:899:5: note: expanded from macro 'vFAIL4'
    Simple_vFAIL4(m, a1, a2, a3);                       \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:892:49: note: expanded from macro 'Simple_vFAIL4'
#define Simple_vFAIL4(m, a1, a2, a3) STMT_START {               \
                                                ^
regcomp.c:18240:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:899:5: note: expanded from macro 'vFAIL4'
    Simple_vFAIL4(m, a1, a2, a3);                       \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:894:57: note: expanded from macro 'Simple_vFAIL4'
            REPORT_LOCATION_ARGS(RExC_parse));                  \
                                                                ^
regcomp.c:18240:33: note: ')' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:899:5: note: expanded from macro 'vFAIL4'
    Simple_vFAIL4(m, a1, a2, a3);                       \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:895:3: note: expanded from macro 'Simple_vFAIL4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18240:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:899:37: note: expanded from macro 'vFAIL4'
    Simple_vFAIL4(m, a1, a2, a3);                       \
                                                        ^
regcomp.c:18240:33: note: ')' token is here
                                vFAIL4("False [] range \"%*.*s\"",
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:900:3: note: expanded from macro 'vFAIL4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18244:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18244:33: note: '{' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18244:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18244:33: note: '{' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18244:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18244:33: note: ')' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18244:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18244:33: note: '{' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18244:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18244:33: note: ')' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18244:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18244:33: note: ')' token is here
                                vWARN4(RExC_parse,
                                ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18271:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:18: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                 ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18271:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:851:29: note: expanded from macro 'vFAIL'
#define vFAIL(m) STMT_START {                           \
                            ^
regcomp.c:18271:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18271:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18271:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18271:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:852:5: note: expanded from macro 'vFAIL'
    PREPARE_TO_DIE;                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18271:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:25: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18271:17: note: '{' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:843:36: note: expanded from macro 'Simple_vFAIL'
#define Simple_vFAIL(m) STMT_START {                                    \
                                   ^
regcomp.c:18271:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:845:60: note: expanded from macro 'Simple_vFAIL'
            m, REPORT_LOCATION_ARGS(RExC_parse));                       \
                                                                        ^
regcomp.c:18271:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:5: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
    ^~~~~~~~~~~~~~~
regcomp.c:846:3: note: expanded from macro 'Simple_vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18271:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:853:26: note: expanded from macro 'vFAIL'
    Simple_vFAIL(m);                                    \
                                                        ^
regcomp.c:18271:17: note: ')' token is here
                vFAIL(form_cp_too_large_msg(16, NULL, 0, value));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:854:3: note: expanded from macro 'vFAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18273:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_UNI_RULES(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18273:13: note: '{' token is here
            REQUIRE_UNI_RULES(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:432:16: note: expanded from macro 'REQUIRE_UNI_RULES'
    STMT_START {                                                            \
               ^
regcomp.c:18273:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REQUIRE_UNI_RULES(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:5: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
    ^
regcomp.c:18273:13: note: ')' token is here
            REQUIRE_UNI_RULES(flagp, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:445:7: note: expanded from macro 'REQUIRE_UNI_RULES'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18278:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:968:5: note: expanded from macro 'ckWARN2_non_literal_string'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18278:17: note: '{' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:968:16: note: expanded from macro 'ckWARN2_non_literal_string'
    STMT_START {                                                            \
               ^
regcomp.c:18278:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18278:17: note: '{' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18278:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18278:17: note: '{' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18278:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18278:17: note: ')' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18278:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18278:17: note: '{' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18278:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18278:17: note: ')' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18278:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18278:17: note: ')' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:975:17: note: expanded from macro 'ckWARN2_non_literal_string'
                _WARN_HELPER(loc, packwarn,                                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18278:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:979:5: note: expanded from macro 'ckWARN2_non_literal_string'
    } STMT_END
    ^
regcomp.c:18278:17: note: ')' token is here
                ckWARN2_non_literal_string(RExC_parse,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:979:7: note: expanded from macro 'ckWARN2_non_literal_string'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18355:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18355:21: note: '{' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18355:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18355:21: note: '{' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18355:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18355:21: note: ')' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18355:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18355:21: note: '{' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18355:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18355:21: note: ')' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18355:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18355:21: note: ')' token is here
                    vWARN(RExC_parse, "Both or neither range ends should be Unicode");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18372:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18372:25: note: '{' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18372:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18372:25: note: '{' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18372:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18372:25: note: ')' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18372:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18372:25: note: '{' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18372:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18372:25: note: ')' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18372:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18372:25: note: ')' token is here
                        vWARN(RExC_parse, "Ranges of ASCII printables should"
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18443:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18443:33: note: '{' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18443:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18443:33: note: '{' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18443:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18443:33: note: ')' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18443:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18443:33: note: '{' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18443:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18443:33: note: ')' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18443:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18443:33: note: ')' token is here
                                vWARN(RExC_parse, "Ranges of digits should be"
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:988:5: note: expanded from macro 'vWARN'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18461:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18461:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18461:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18461:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18461:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18461:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18461:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18461:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18461:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18461:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18461:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18461:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18469:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:5: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18469:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:944:16: note: expanded from macro '_WARN_HELPER'
    STMT_START {                                                        \
               ^
regcomp.c:18469:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18469:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:18469:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:18469:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:952:17: note: expanded from macro '_WARN_HELPER'
                PREPARE_TO_DIE;                                         \
                ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18469:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:18469:21: note: '{' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:935:16: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    STMT_START {                                                        \
               ^
regcomp.c:18469:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:5: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
    ^
regcomp.c:18469:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:954:13: note: expanded from macro '_WARN_HELPER'
            UPDATE_WARNINGS_LOC(loc);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:940:7: note: expanded from macro 'UPDATE_WARNINGS_LOC'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:18469:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:5: note: expanded from macro '_WARN_HELPER'
    } STMT_END
    ^
regcomp.c:18469:21: note: ')' token is here
                    vWARN4(RExC_parse,
                    ^~~~~~~~~~~~~~~~~~
regcomp.c:1038:5: note: expanded from macro 'vWARN4'
    _WARN_HELPER(loc, packWARN(WARN_REGEXP),                            \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:956:7: note: expanded from macro '_WARN_HELPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19500:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_UTF8(flagp);
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:29: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19500:25: note: '{' token is here
                        REQUIRE_UTF8(flagp);
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:415:40: note: expanded from macro 'REQUIRE_UTF8'
#define REQUIRE_UTF8(flagp) STMT_START {                                   \
                                       ^
regcomp.c:19500:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REQUIRE_UTF8(flagp);
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:30: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                             ^
regcomp.c:19500:25: note: ')' token is here
                        REQUIRE_UTF8(flagp);
                        ^~~~~~~~~~~~~~~~~~~
regcomp.c:420:32: note: expanded from macro 'REQUIRE_UTF8'
                             } STMT_END
                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19520:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FILL_NODE(ret, op);
                ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19520:17: note: '{' token is here
                FILL_NODE(ret, op);
                ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:19520:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FILL_NODE(ret, op);
                ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:19520:17: note: ')' token is here
                FILL_NODE(ret, op);
                ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19522:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:5: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19522:17: note: '{' token is here
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:354:15: note: expanded from macro 'setSTR_LEN'
    STMT_START{                                                             \
              ^
regcomp.c:19522:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:5: note: expanded from macro 'setSTR_LEN'
    } STMT_END
    ^
regcomp.c:19522:17: note: ')' token is here
                setSTR_LEN(REGNODE_p(ret), len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:359:7: note: expanded from macro 'setSTR_LEN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19874:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FILL_NODE(ret, op);
                        ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19874:25: note: '{' token is here
                        FILL_NODE(ret, op);
                        ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:19874:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FILL_NODE(ret, op);
                        ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:19874:25: note: ')' token is here
                        FILL_NODE(ret, op);
                        ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19931:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_NODE(ret, op);        /* We set the argument later */
    ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19931:5: note: '{' token is here
    FILL_NODE(ret, op);        /* We set the argument later */
    ^~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:19931:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_NODE(ret, op);        /* We set the argument later */
    ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:19931:5: note: ')' token is here
    FILL_NODE(ret, op);        /* We set the argument later */
    ^~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:19944:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_SET_TO_BITMAP(REGNODE_p(ret), posixl);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:695:6: note: expanded from macro 'ANYOF_POSIXL_SET_TO_BITMAP'
     STMT_START {                                                           \
     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:19944:9: note: '{' token is here
        ANYOF_POSIXL_SET_TO_BITMAP(REGNODE_p(ret), posixl);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:695:17: note: expanded from macro 'ANYOF_POSIXL_SET_TO_BITMAP'
     STMT_START {                                                           \
                ^
regcomp.c:19944:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        ANYOF_POSIXL_SET_TO_BITMAP(REGNODE_p(ret), posixl);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:697:6: note: expanded from macro 'ANYOF_POSIXL_SET_TO_BITMAP'
     } STMT_END
     ^
regcomp.c:19944:9: note: ')' token is here
        ANYOF_POSIXL_SET_TO_BITMAP(REGNODE_p(ret), posixl);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:697:8: note: expanded from macro 'ANYOF_POSIXL_SET_TO_BITMAP'
     } STMT_END
       ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20146:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(ONLY_LOCALE_MATCHES_INDEX == 1 + INVLIST_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20146:21: note: '{' token is here
                    STATIC_ASSERT_STMT(ONLY_LOCALE_MATCHES_INDEX == 1 + INVLIST_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
regcomp.c:20146:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(ONLY_LOCALE_MATCHES_INDEX == 1 + INVLIST_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
regcomp.c:20146:21: note: ')' token is here
                    STATIC_ASSERT_STMT(ONLY_LOCALE_MATCHES_INDEX == 1 + INVLIST_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20147:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(DEFERRED_USER_DEFINED_INDEX == 1 + ONLY_LOCALE_MATCHES_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20147:21: note: '{' token is here
                    STATIC_ASSERT_STMT(DEFERRED_USER_DEFINED_INDEX == 1 + ONLY_LOCALE_MATCHES_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
regcomp.c:20147:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STATIC_ASSERT_STMT(DEFERRED_USER_DEFINED_INDEX == 1 + ONLY_LOCALE_MATCHES_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
regcomp.c:20147:21: note: ')' token is here
                    STATIC_ASSERT_STMT(DEFERRED_USER_DEFINED_INDEX == 1 + ONLY_LOCALE_MATCHES_INDEX);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20264:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(matches_string, SvCUR(matches_string) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20264:21: note: '{' token is here
                    SvCUR_set(matches_string, SvCUR(matches_string) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:20264:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(matches_string, SvCUR(matches_string) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:20264:21: note: ')' token is here
                    SvCUR_set(matches_string, SvCUR(matches_string) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20353:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20353:7: note: '{' token is here
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:20353:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20353:7: note: '{' token is here
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:20353:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:20353:7: note: ')' token is here
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20353:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:20353:7: note: ')' token is here
                    FAIL("Sequence (?#... not terminated");
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20431:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:21: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20431:2: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:815:32: note: expanded from macro '_FAIL'
#define _FAIL(code) STMT_START {                                        \
                               ^
regcomp.c:20431:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:5: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20431:2: note: '{' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:801:16: note: expanded from macro 'PREPARE_TO_DIE'
    STMT_START {                                                            \
               ^
regcomp.c:20431:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:5: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
    ^
regcomp.c:20431:2: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:819:5: note: expanded from macro '_FAIL'
    PREPARE_TO_DIE;                                                     \
    ^~~~~~~~~~~~~~
regcomp.c:808:7: note: expanded from macro 'PREPARE_TO_DIE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20431:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:825:73: note: expanded from macro '_FAIL'
    code;                                                               \
                                                                        ^
regcomp.c:20431:2: note: ')' token is here
        FAIL("Regexp out of space");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:828:19: note: expanded from macro 'FAIL'
#define FAIL(msg) _FAIL(                            \
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:826:3: note: expanded from macro '_FAIL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20500:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20500:5: note: '{' token is here
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:16: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20500:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20500:5: note: '{' token is here
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20500:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:20500:5: note: ')' token is here
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20500:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
    ^
regcomp.c:20500:5: note: ')' token is here
    FILL_ADVANCE_NODE(ptr, op);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:7: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20519:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:394:5: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20519:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:394:16: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
    STMT_START {                                                        \
               ^
regcomp.c:20519:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20519:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:16: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20519:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20519:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20519:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:20519:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20519:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
    ^
regcomp.c:20519:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:396:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:7: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20519:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:400:5: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
    } STMT_END
    ^
regcomp.c:20519:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARG(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:400:7: note: expanded from macro 'FILL_ADVANCE_NODE_ARG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20535:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:402:5: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20535:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:402:16: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
    STMT_START {                                                        \
               ^
regcomp.c:20535:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20535:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:16: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20535:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20535:5: note: '{' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20535:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:20535:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20535:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
    ^
regcomp.c:20535:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:404:21: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:7: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20535:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:406:5: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
    } STMT_END
    ^
regcomp.c:20535:5: note: ')' token is here
    FILL_ADVANCE_NODE_ARGp(ptr, op, arg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:406:7: note: expanded from macro 'FILL_ADVANCE_NODE_ARGp'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:408:5: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20552:5: note: '{' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:408:16: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
    STMT_START {                                                        \
               ^
regcomp.c:20552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20552:5: note: '{' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:389:16: note: expanded from macro 'FILL_ADVANCE_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20552:5: note: '{' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:20552:5: note: ')' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:390:21: note: expanded from macro 'FILL_ADVANCE_NODE'
                    FILL_NODE(offset, op);                              \
                    ^~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:5: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
    ^
regcomp.c:20552:5: note: ')' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:411:21: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
                    FILL_ADVANCE_NODE(offset, op);                      \
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:392:7: note: expanded from macro 'FILL_ADVANCE_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:413:5: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
    } STMT_END
    ^
regcomp.c:20552:5: note: ')' token is here
    FILL_ADVANCE_NODE_2L_ARG(ptr, op, arg1, arg2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:413:7: note: expanded from macro 'FILL_ADVANCE_NODE_2L_ARG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:20664:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_NODE(operand, op);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:5: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:20664:5: note: '{' token is here
    FILL_NODE(operand, op);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:384:16: note: expanded from macro 'FILL_NODE'
    STMT_START {                                                        \
               ^
regcomp.c:20664:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    FILL_NODE(operand, op);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:5: note: expanded from macro 'FILL_NODE'
    } STMT_END
    ^
regcomp.c:20664:5: note: ')' token is here
    FILL_NODE(operand, op);
    ^~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:387:7: note: expanded from macro 'FILL_NODE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21624:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:2: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21624:5: note: '{' token is here
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:13: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
                   ^
regcomp.c:21624:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:3: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
         ^
regcomp.c:21624:5: note: ')' token is here
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:5: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21684:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21684:9: note: '{' token is here
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:21684:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:21684:9: note: ')' token is here
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21685:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21685:9: note: '{' token is here
        SvCUR_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:21685:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:21685:9: note: ')' token is here
        SvCUR_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21700:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dsv, SvCUR(ssv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21700:6: note: '{' token is here
            SvCUR_set(dsv, SvCUR(ssv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:21700:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dsv, SvCUR(ssv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:21700:6: note: ')' token is here
            SvCUR_set(dsv, SvCUR(ssv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21709:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(dsv, RX_WRAPPED(ssv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21709:5: note: '{' token is here
    SvPV_set(dsv, RX_WRAPPED(ssv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
regcomp.c:21709:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(dsv, RX_WRAPPED(ssv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
regcomp.c:21709:5: note: ')' token is here
    SvPV_set(dsv, RX_WRAPPED(ssv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21717:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21717:9: note: '{' token is here
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:21717:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:21717:9: note: ')' token is here
        SvLEN_set(dsv, 0);
        ^~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21821:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21821:21: note: '{' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
regcomp.c:21821:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
regcomp.c:21821:21: note: ')' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21823:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21823:21: note: '{' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:21823:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:21823:21: note: ')' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21850:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21850:21: note: '{' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
regcomp.c:21850:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
regcomp.c:21850:21: note: ')' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21852:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21852:21: note: '{' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:21852:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:21852:21: note: ')' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:21982:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(dstr, SvCUR(sstr)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:21982:5: note: '{' token is here
    SvLEN_set(dstr, SvCUR(sstr)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
regcomp.c:21982:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(dstr, SvCUR(sstr)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
regcomp.c:21982:5: note: ')' token is here
    SvLEN_set(dstr, SvCUR(sstr)+1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:22085:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:22085:3: note: '{' token is here
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
regcomp.c:22085:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
regcomp.c:22085:3: note: ')' token is here
                OP_REFCNT_LOCK;
                ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:22087:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:22087:3: note: '{' token is here
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:22087:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:22087:3: note: ')' token is here
                OP_REFCNT_UNLOCK;
                ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:22202:28: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len = my_snprintf(digits, sizeof(digits),
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:22202:28: note: '{' token is here
        const STRLEN len = my_snprintf(digits, sizeof(digits),
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
regcomp.c:22202:28: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len = my_snprintf(digits, sizeof(digits),
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
regcomp.c:22202:28: note: ')' token is here
        const STRLEN len = my_snprintf(digits, sizeof(digits),
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:23592:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SWITCH_TO_GLOBAL_CONTEXT;
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:23592:5: note: '{' token is here
    SWITCH_TO_GLOBAL_CONTEXT;
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:23592:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SWITCH_TO_GLOBAL_CONTEXT;
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:23592:5: note: ')' token is here
    SWITCH_TO_GLOBAL_CONTEXT;
    ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:23606:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RESTORE_CONTEXT;
    ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:23606:5: note: '{' token is here
    RESTORE_CONTEXT;
    ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:23606:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RESTORE_CONTEXT;
    ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:23606:5: note: ')' token is here
    RESTORE_CONTEXT;
    ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24078:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24078:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
regcomp.c:24078:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24078:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24078:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:24078:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24078:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
regcomp.c:24078:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24083:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP) ;
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24083:13: note: '{' token is here
            PUSHMARK(SP) ;
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
regcomp.c:24083:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP) ;
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
regcomp.c:24083:13: note: ')' token is here
            PUSHMARK(SP) ;
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24084:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24084:13: note: '{' token is here
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
regcomp.c:24084:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24084:13: note: '{' token is here
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
regcomp.c:24084:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
regcomp.c:24084:13: note: ')' token is here
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24084:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
regcomp.c:24084:13: note: ')' token is here
            XPUSHs(character_name);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24096:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24096:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24096:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24096:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24096:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:24096:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24096:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
regcomp.c:24096:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24469:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24469:13: note: '{' token is here
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
regcomp.c:24469:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
regcomp.c:24469:13: note: ')' token is here
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24484:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24484:21: note: '{' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24484:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24484:21: note: ')' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24499:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24499:21: note: '{' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24499:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24499:21: note: ')' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24515:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24515:21: note: '{' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24515:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24515:21: note: ')' token is here
                    USER_PROP_MUTEX_UNLOCK;
                    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24530:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                USER_PROP_MUTEX_UNLOCK;
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24530:17: note: '{' token is here
                USER_PROP_MUTEX_UNLOCK;
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24530:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                USER_PROP_MUTEX_UNLOCK;
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24530:17: note: ')' token is here
                USER_PROP_MUTEX_UNLOCK;
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24542:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24542:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
regcomp.c:24542:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24542:13: note: '{' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24542:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:24542:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24542:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
regcomp.c:24542:13: note: ')' token is here
            PUSHSTACKi(PERLSI_REGCOMP);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24547:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SWITCH_TO_GLOBAL_CONTEXT;
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24547:13: note: '{' token is here
            SWITCH_TO_GLOBAL_CONTEXT;
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:24547:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SWITCH_TO_GLOBAL_CONTEXT;
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:24547:13: note: ')' token is here
            SWITCH_TO_GLOBAL_CONTEXT;
            ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24550:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RESTORE_CONTEXT;
            ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24550:13: note: '{' token is here
            RESTORE_CONTEXT;
            ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:24550:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RESTORE_CONTEXT;
            ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:24550:13: note: ')' token is here
            RESTORE_CONTEXT;
            ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24554:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24554:13: note: '{' token is here
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24554:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24554:13: note: ')' token is here
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24559:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24559:13: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
regcomp.c:24559:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
regcomp.c:24559:13: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24565:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24565:13: note: '{' token is here
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
regcomp.c:24565:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24565:13: note: '{' token is here
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
regcomp.c:24565:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
regcomp.c:24565:13: note: ')' token is here
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24565:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
regcomp.c:24565:13: note: ')' token is here
            XPUSHs(boolSV(to_fold));
            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24636:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24636:13: note: '{' token is here
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
regcomp.c:24636:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
regcomp.c:24636:13: note: ')' token is here
            USER_PROP_MUTEX_LOCK;
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6269:35: note: expanded from macro 'USER_PROP_MUTEX_LOCK'
#  define USER_PROP_MUTEX_LOCK    MUTEX_LOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24645:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SWITCH_TO_GLOBAL_CONTEXT;
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24645:17: note: '{' token is here
                SWITCH_TO_GLOBAL_CONTEXT;
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:24645:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SWITCH_TO_GLOBAL_CONTEXT;
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:24645:17: note: ')' token is here
                SWITCH_TO_GLOBAL_CONTEXT;
                ^~~~~~~~~~~~~~~~~~~~~~~~
regcomp.c:23568:28: note: expanded from macro 'SWITCH_TO_GLOBAL_CONTEXT'
                           PERL_SET_CONTEXT((aTHX = PL_user_def_props_aTHX))
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24652:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_CONTEXT;
                ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24652:17: note: '{' token is here
                RESTORE_CONTEXT;
                ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
regcomp.c:24652:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_CONTEXT;
                ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
regcomp.c:24652:17: note: ')' token is here
                RESTORE_CONTEXT;
                ^~~~~~~~~~~~~~~
regcomp.c:23569:30: note: expanded from macro 'RESTORE_CONTEXT'
#    define RESTORE_CONTEXT  PERL_SET_CONTEXT((aTHX = save_aTHX));
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24657:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24657:13: note: '{' token is here
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
regcomp.c:24657:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
regcomp.c:24657:13: note: ')' token is here
            USER_PROP_MUTEX_UNLOCK;
            ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6270:35: note: expanded from macro 'USER_PROP_MUTEX_UNLOCK'
#  define USER_PROP_MUTEX_UNLOCK  MUTEX_UNLOCK(&PL_user_prop_mutex)
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24661:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24661:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24661:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:24661:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:24661:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:24661:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:24661:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
regcomp.c:24661:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25095:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25095:5: note: '{' token is here
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
regcomp.c:25095:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25095:5: note: '{' token is here
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:25095:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:25095:5: note: ')' token is here
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25095:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
regcomp.c:25095:5: note: ')' token is here
    PUSHSTACKi(PERLSI_REGCOMP);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25100:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25100:5: note: '{' token is here
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
regcomp.c:25100:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
regcomp.c:25100:5: note: ')' token is here
    PUSHMARK(SP) ;
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25120:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:25120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25120:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regcomp.c:25120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regcomp.c:25120:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
regcomp.c:25120:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regcomp.c:25344:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(syllable_name, hangul_prefix_len);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regcomp.c:25344:21: note: '{' token is here
                    SvCUR_set(syllable_name, hangul_prefix_len);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regcomp.c:25344:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(syllable_name, hangul_prefix_len);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regcomp.c:25344:21: note: ')' token is here
                    SvCUR_set(syllable_name, hangul_prefix_len);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
1586 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC dump.c
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from dump.c:29:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:184:26: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:184:26: note: '{' token is here
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
dump.c:184:26: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
dump.c:184:26: note: ')' token is here
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:187:26: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:187:26: note: '{' token is here
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
dump.c:187:26: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
dump.c:187:26: note: ')' token is here
                chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:219:34: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:219:34: note: '{' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
dump.c:219:34: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
dump.c:219:34: note: ')' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:224:34: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:224:34: note: '{' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
dump.c:224:34: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
dump.c:224:34: note: ')' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:227:34: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:227:34: note: '{' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
dump.c:227:34: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
dump.c:227:34: note: ')' token is here
                        chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE,
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:464:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(t, unref + 3);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:464:6: note: '{' token is here
            SvCUR_set(t, unref + 3);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
dump.c:464:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(t, unref + 3);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
dump.c:464:6: note: ')' token is here
            SvCUR_set(t, unref + 3);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:498:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:498:3: note: '{' token is here
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
dump.c:498:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
dump.c:498:3: note: ')' token is here
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:511:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:511:9: note: '{' token is here
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
                   ^
dump.c:511:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
        ^
dump.c:511:9: note: ')' token is here
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:513:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:513:9: note: '{' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
dump.c:513:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
dump.c:513:9: note: ')' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:1818:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(d, SvCUR(d) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:1818:9: note: '{' token is here
        SvCUR_set(d, SvCUR(d) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
dump.c:1818:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(d, SvCUR(d) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
dump.c:1818:9: note: ')' token is here
        SvCUR_set(d, SvCUR(d) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:1873:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:1873:9: note: '{' token is here
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
                   ^
dump.c:1873:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
        ^
dump.c:1873:9: note: ')' token is here
        STORE_LC_NUMERIC_SET_STANDARD();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:1875:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:1875:9: note: '{' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
dump.c:1875:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
dump.c:1875:9: note: ')' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:1898:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:1898:3: note: '{' token is here
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
dump.c:1898:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
dump.c:1898:3: note: ')' token is here
                SvOOK_offset(sv, delta);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2430:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:54: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2430:13: note: '{' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:65: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                                ^
dump.c:2430:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2430:13: note: '{' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
dump.c:2430:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
dump.c:2430:13: note: ')' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2430:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2428:61: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
            }                                               \
                                                            ^
dump.c:2430:13: note: ')' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2429:3: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2434:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:54: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2434:13: note: '{' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:65: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                                ^
dump.c:2434:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2434:13: note: '{' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
dump.c:2434:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
dump.c:2434:13: note: ')' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2434:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2428:61: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
            }                                               \
                                                            ^
dump.c:2434:13: note: ')' token is here
            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags,regexp_extflags_names);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2429:3: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2441:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:54: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2441:17: note: '{' token is here
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2422:65: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags,names) STMT_START { \
                                                                ^
dump.c:2441:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
dump.c:2441:17: note: '{' token is here
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
dump.c:2441:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
dump.c:2441:17: note: ')' token is here
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2426:17: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
                SvCUR_set(d, SvCUR(d) - 1);                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
dump.c:2441:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2428:61: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
            }                                               \
                                                            ^
dump.c:2441:17: note: ')' token is here
                SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->intflags,regexp_core_intflags_names);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dump.c:2429:3: note: expanded from macro 'SV_SET_STRINGIFY_REGEXP_FLAGS'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
136 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC util.c
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from util.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1247:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1247:5: note: '{' token is here
    SvPV_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
util.c:1247:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
util.c:1247:5: note: ')' token is here
    SvPV_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1556:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(PL_errors, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1556:2: note: '{' token is here
        SvCUR_set(PL_errors, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
util.c:1556:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(PL_errors, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
util.c:1556:2: note: ')' token is here
        SvCUR_set(PL_errors, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1594:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1594:2: note: '{' token is here
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
util.c:1594:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1594:2: note: '{' token is here
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
util.c:1594:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
util.c:1594:2: note: ')' token is here
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1594:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
util.c:1594:2: note: ')' token is here
        PUSHSTACKi(warn ? PERLSI_WARNHOOK : PERLSI_DIEHOOK);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1595:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1595:2: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
util.c:1595:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
util.c:1595:2: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1596:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1596:2: note: '{' token is here
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
util.c:1596:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1596:2: note: '{' token is here
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
util.c:1596:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
util.c:1596:2: note: ')' token is here
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1596:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
util.c:1596:2: note: ')' token is here
        XPUSHs(exarg);
        ^~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1599:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1599:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
util.c:1599:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1599:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
util.c:1599:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
util.c:1599:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1599:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
util.c:1599:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:1819:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, sizeof(PL_no_mem)-1));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:1819:9: note: '{' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, sizeof(PL_no_mem)-1));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
util.c:1819:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, sizeof(PL_no_mem)-1));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
util.c:1819:9: note: ')' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(fd, PL_no_mem, sizeof(PL_no_mem)-1));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2405:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2405:5: note: '{' token is here
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
util.c:2405:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
util.c:2405:5: note: ')' token is here
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2559:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2559:5: note: '{' token is here
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
util.c:2559:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
util.c:2559:5: note: ')' token is here
    SvIV_set(sv, pid);
    ^~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2629:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MUTEX_LOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2629:5: note: '{' token is here
    MUTEX_LOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
util.c:2629:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MUTEX_LOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
util.c:2629:5: note: ')' token is here
    MUTEX_LOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2634:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2634:5: note: '{' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
util.c:2634:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
util.c:2634:5: note: ')' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2655:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MUTEX_UNLOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2655:5: note: '{' token is here
    MUTEX_UNLOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
util.c:2655:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MUTEX_UNLOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
util.c:2655:5: note: ')' token is here
    MUTEX_UNLOCK(&PL_perlio_mutex);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:2660:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:2660:5: note: '{' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
util.c:2660:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
util.c:2660:5: note: ')' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:3641:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCALE_READ_LOCK;
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:3641:5: note: '{' token is here
    ENV_LOCALE_READ_LOCK;
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
util.c:3641:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCALE_READ_LOCK;
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
util.c:3641:5: note: ')' token is here
    ENV_LOCALE_READ_LOCK;
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:3645:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCALE_READ_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:3645:5: note: '{' token is here
    ENV_LOCALE_READ_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
util.c:3645:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCALE_READ_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
util.c:3645:5: note: ')' token is here
    ENV_LOCALE_READ_UNLOCK;
    ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:3877:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  STMT_START {
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:3877:14: note: '{' token is here
  STMT_START {
             ^
util.c:3887:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  } STMT_END;
  ^
util.c:3887:5: note: ')' token is here
  } STMT_END;
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:3974:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:3974:5: note: '{' token is here
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
util.c:3974:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
util.c:3974:5: note: ')' token is here
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:536:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(rv, SvCUR(rv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:536:3: note: '{' token is here
                SvCUR_set(rv, SvCUR(rv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
In file included from util.c:4115:
./vutil.c:536:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(rv, SvCUR(rv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
./vutil.c:536:3: note: ')' token is here
                SvCUR_set(rv, SvCUR(rv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:545:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(rv, ver); /* make a duplicate */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:545:2: note: '{' token is here
        SvSetSV_nosteal(rv, ver); /* make a duplicate */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
In file included from util.c:4115:
./vutil.c:545:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(rv, ver); /* make a duplicate */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
./vutil.c:545:2: note: ')' token is here
        SvSetSV_nosteal(rv, ver); /* make a duplicate */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:594:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        len = my_snprintf(tbuf, sizeof(tbuf), "%d", VERSION_MAX);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:594:8: note: '{' token is here
        len = my_snprintf(tbuf, sizeof(tbuf), "%d", VERSION_MAX);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
In file included from util.c:4115:
./vutil.c:594:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        len = my_snprintf(tbuf, sizeof(tbuf), "%d", VERSION_MAX);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
./vutil.c:594:8: note: ')' token is here
        len = my_snprintf(tbuf, sizeof(tbuf), "%d", VERSION_MAX);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:687:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STORE_LC_NUMERIC_SET_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:687:17: note: '{' token is here
                STORE_LC_NUMERIC_SET_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6782:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        STMT_START {                                                        \
                   ^
In file included from util.c:4115:
./vutil.c:687:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STORE_LC_NUMERIC_SET_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
        ^
./vutil.c:687:17: note: ')' token is here
                STORE_LC_NUMERIC_SET_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6788:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:700:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            LOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6804:9: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:700:13: note: '{' token is here
            LOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6804:20: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
In file included from util.c:4115:
./vutil.c:700:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            LOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6810:9: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        } STMT_END
        ^
./vutil.c:700:13: note: ')' token is here
            LOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6810:11: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:710:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                len = my_snprintf(tbuf, sizeof(tbuf), "%.9" NVff, SvNVX(ver));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:710:23: note: '{' token is here
                len = my_snprintf(tbuf, sizeof(tbuf), "%.9" NVff, SvNVX(ver));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
In file included from util.c:4115:
./vutil.c:710:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                len = my_snprintf(tbuf, sizeof(tbuf), "%.9" NVff, SvNVX(ver));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
./vutil.c:710:23: note: ')' token is here
                len = my_snprintf(tbuf, sizeof(tbuf), "%.9" NVff, SvNVX(ver));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:716:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            UNLOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6813:9: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:716:13: note: '{' token is here
            UNLOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6813:20: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
In file included from util.c:4115:
./vutil.c:716:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            UNLOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6823:9: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        } STMT_END
        ^
./vutil.c:716:13: note: ')' token is here
            UNLOCK_LC_NUMERIC_STANDARD();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6823:11: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from util.c:4115:
./vutil.c:735:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vutil.c:735:17: note: '{' token is here
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
In file included from util.c:4115:
./vutil.c:735:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
./vutil.c:735:17: note: ')' token is here
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:5295:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:5295:2: note: '{' token is here
        MUTEX_LOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
util.c:5295:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
util.c:5295:2: note: ')' token is here
        MUTEX_LOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:5336:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:5336:2: note: '{' token is here
        MUTEX_UNLOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
util.c:5336:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
util.c:5336:2: note: ')' token is here
        MUTEX_UNLOCK(&PL_my_ctx_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:5676:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sv_cathek(dbsv, GvNAME_HEK(gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:2: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:5676:6: note: '{' token is here
            sv_cathek(dbsv, GvNAME_HEK(gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2037:13: note: expanded from macro 'sv_cathek'
        STMT_START {                                                 \
                   ^
util.c:5676:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sv_cathek(dbsv, GvNAME_HEK(gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:2: note: expanded from macro 'sv_cathek'
        } STMT_END
        ^
util.c:5676:6: note: ')' token is here
            sv_cathek(dbsv, GvNAME_HEK(gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2041:4: note: expanded from macro 'sv_cathek'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:5684:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(dbsv, PTR2IV(cv));     /* Do it the quickest way  */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:5684:2: note: '{' token is here
        SvIV_set(dbsv, PTR2IV(cv));     /* Do it the quickest way  */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
util.c:5684:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(dbsv, PTR2IV(cv));     /* Do it the quickest way  */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
util.c:5684:2: note: ')' token is here
        SvIV_set(dbsv, PTR2IV(cv));     /* Do it the quickest way  */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
util.c:5686:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dbsv);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
util.c:5686:5: note: '{' token is here
    SvSETMAGIC(dbsv);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
util.c:5686:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dbsv);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
util.c:5686:5: note: ')' token is here
    SvSETMAGIC(dbsv);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
164 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC mg.c
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from mg.c:43:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:541:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(nsv);
            ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:541:6: note: '{' token is here
            SvSETMAGIC(nsv);
            ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
mg.c:541:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(nsv);
            ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
mg.c:541:6: note: ')' token is here
            SvSETMAGIC(nsv);
            ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:590:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(sv, moremagic);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:590:2: note: '{' token is here
        SvMAGIC_set(sv, moremagic);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:590:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(sv, moremagic);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:590:2: note: ')' token is here
        SvMAGIC_set(sv, moremagic);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:592:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvMAGIC_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:592:5: note: '{' token is here
    SvMAGIC_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:592:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvMAGIC_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:592:5: note: ')' token is here
    SvMAGIC_set(sv, NULL);
    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:619:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:619:3: note: '{' token is here
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:619:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:619:3: note: ')' token is here
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:623:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:623:6: note: '{' token is here
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:623:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:623:6: note: ')' token is here
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:655:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:655:3: note: '{' token is here
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:655:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:655:3: note: ')' token is here
                SvMAGIC_set(sv, mg);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:659:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:659:6: note: '{' token is here
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
mg.c:659:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
mg.c:659:6: note: ')' token is here
            SvMAGIC_set(sv, newhead);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:928:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:928:6: note: '{' token is here
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
mg.c:928:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
mg.c:928:6: note: ')' token is here
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1025:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:767:21: note: expanded from macro 'SvRTRIM'
#define SvRTRIM(sv) STMT_START { \
                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1025:2: note: '{' token is here
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:767:32: note: expanded from macro 'SvRTRIM'
#define SvRTRIM(sv) STMT_START { \
                               ^
mg.c:1025:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:773:2: note: expanded from macro 'SvRTRIM'
        SvCUR_set(sv, len); \
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1025:2: note: '{' token is here
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:773:2: note: expanded from macro 'SvRTRIM'
        SvCUR_set(sv, len); \
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
mg.c:1025:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:773:2: note: expanded from macro 'SvRTRIM'
        SvCUR_set(sv, len); \
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
mg.c:1025:2: note: ')' token is here
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:773:2: note: expanded from macro 'SvRTRIM'
        SvCUR_set(sv, len); \
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1025:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:775:7: note: expanded from macro 'SvRTRIM'
    } \
      ^
mg.c:1025:2: note: ')' token is here
        SvRTRIM(sv);
        ^~~~~~~~~~~
mg.c:776:3: note: expanded from macro 'SvRTRIM'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1051:3: note: '{' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1051:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
mg.c:1051:3: note: ')' token is here
                prepare_SV_for_RV(sv);
                ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1053:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(sv, SvREFCNT_inc_simple_NN(PL_last_in_gv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1053:3: note: '{' token is here
                SvRV_set(sv, SvREFCNT_inc_simple_NN(PL_last_in_gv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
mg.c:1053:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(sv, SvREFCNT_inc_simple_NN(PL_last_in_gv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
mg.c:1053:3: note: ')' token is here
                SvRV_set(sv, SvREFCNT_inc_simple_NN(PL_last_in_gv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1064:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(sv);
            ^~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1064:6: note: '{' token is here
            SvTAINTED_off(sv);
            ^~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
mg.c:1064:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(sv);
            ^~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
mg.c:1064:6: note: ')' token is here
            SvTAINTED_off(sv);
            ^~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1221:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1221:3: note: '{' token is here
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
mg.c:1221:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
mg.c:1221:3: note: ')' token is here
                SvTAINTED_off(sv);
                ^~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1957:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1957:5: note: '{' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
mg.c:1957:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1957:5: note: '{' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
mg.c:1957:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
mg.c:1957:5: note: ')' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1957:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
mg.c:1957:5: note: ')' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1958:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1958:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
mg.c:1958:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
mg.c:1958:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1962:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, (I32)argc+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1962:5: note: '{' token is here
    EXTEND(SP, (I32)argc+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
mg.c:1962:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, (I32)argc+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
mg.c:1962:5: note: ')' token is here
    EXTEND(SP, (I32)argc+1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1987:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1987:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
mg.c:1987:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:1987:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
mg.c:1987:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
mg.c:1987:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:1987:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
mg.c:1987:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2067:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(val);
        ^~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2067:2: note: '{' token is here
        SvTAINTED_on(val);
        ^~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
mg.c:2067:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(val);
        ^~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
mg.c:2067:2: note: ')' token is here
        SvTAINTED_on(val);
        ^~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2533:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(LvTARG(sv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2533:2: note: '{' token is here
        SvSETMAGIC(LvTARG(sv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
mg.c:2533:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(LvTARG(sv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
mg.c:2533:2: note: ')' token is here
        SvSETMAGIC(LvTARG(sv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2568:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(value);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2568:5: note: '{' token is here
    SvREFCNT_inc_simple_void(value);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
mg.c:2568:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvREFCNT_inc_simple_void(value);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
mg.c:2568:5: note: ')' token is here
    SvREFCNT_inc_simple_void(value);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2699:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(mg->mg_obj);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2699:2: note: '{' token is here
        SvSETMAGIC(mg->mg_obj);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
mg.c:2699:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(mg->mg_obj);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
mg.c:2699:2: note: ')' token is here
        SvSETMAGIC(mg->mg_obj);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2847:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2847:3: note: '{' token is here
                SvTAINTED_on(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
mg.c:2847:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
mg.c:2847:3: note: ')' token is here
                SvTAINTED_on(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2849:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2849:3: note: '{' token is here
                SvTAINTED_off(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
mg.c:2849:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_off(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
mg.c:2849:3: note: ')' token is here
                SvTAINTED_off(PL_bodytarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2969:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            free_and_set_cop_warnings(&PL_compiling, pWARN_STD);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2969:13: note: '{' token is here
            free_and_set_cop_warnings(&PL_compiling, pWARN_STD);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
mg.c:2969:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            free_and_set_cop_warnings(&PL_compiling, pWARN_STD);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
mg.c:2969:13: note: ')' token is here
            free_and_set_cop_warnings(&PL_compiling, pWARN_STD);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2981:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2981:17: note: '{' token is here
                free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
mg.c:2981:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
mg.c:2981:17: note: ')' token is here
                free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:2983:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:2983:17: note: '{' token is here
                free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
mg.c:2983:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
mg.c:2983:17: note: ')' token is here
                free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3110:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_EXIT_SET(SvIV(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3508:36: note: expanded from macro 'STATUS_UNIX_EXIT_SET'
#   define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
                                   ^~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3110:6: note: '{' token is here
            STATUS_UNIX_EXIT_SET(SvIV(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3508:36: note: expanded from macro 'STATUS_UNIX_EXIT_SET'
#   define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
                                   ^~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
mg.c:3110:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_EXIT_SET(SvIV(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3508:36: note: expanded from macro 'STATUS_UNIX_EXIT_SET'
#   define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
                                   ^~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
mg.c:3110:6: note: ')' token is here
            STATUS_UNIX_EXIT_SET(SvIV(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3508:36: note: expanded from macro 'STATUS_UNIX_EXIT_SET'
#   define STATUS_UNIX_EXIT_SET(n) STATUS_UNIX_SET(n)
                                   ^~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3138:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setruid(new_uid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3138:2: note: '{' token is here
        PERL_UNUSED_RESULT(setruid(new_uid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
mg.c:3138:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setruid(new_uid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
mg.c:3138:2: note: ')' token is here
        PERL_UNUSED_RESULT(setruid(new_uid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3167:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(seteuid(new_euid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3167:2: note: '{' token is here
        PERL_UNUSED_RESULT(seteuid(new_euid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
mg.c:3167:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(seteuid(new_euid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
mg.c:3167:2: note: ')' token is here
        PERL_UNUSED_RESULT(seteuid(new_euid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3191:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setrgid(new_gid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3191:2: note: '{' token is here
        PERL_UNUSED_RESULT(setrgid(new_gid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
mg.c:3191:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setrgid(new_gid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
mg.c:3191:2: note: ')' token is here
        PERL_UNUSED_RESULT(setrgid(new_gid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3260:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PERL_UNUSED_RESULT(setgroups(i, gary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3260:17: note: '{' token is here
                PERL_UNUSED_RESULT(setgroups(i, gary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
mg.c:3260:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PERL_UNUSED_RESULT(setgroups(i, gary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
mg.c:3260:17: note: ')' token is here
                PERL_UNUSED_RESULT(setgroups(i, gary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3272:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setegid(new_egid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3272:2: note: '{' token is here
        PERL_UNUSED_RESULT(setegid(new_egid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
mg.c:3272:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(setegid(new_egid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
mg.c:3272:2: note: ')' token is here
        PERL_UNUSED_RESULT(setegid(new_egid));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3301:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~
./thread.h:369:34: note: expanded from macro 'LOCK_DOLLARZERO_MUTEX'
#  define LOCK_DOLLARZERO_MUTEX         MUTEX_LOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3301:2: note: '{' token is here
        LOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~
./thread.h:369:34: note: expanded from macro 'LOCK_DOLLARZERO_MUTEX'
#  define LOCK_DOLLARZERO_MUTEX         MUTEX_LOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
mg.c:3301:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~
./thread.h:369:34: note: expanded from macro 'LOCK_DOLLARZERO_MUTEX'
#  define LOCK_DOLLARZERO_MUTEX         MUTEX_LOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
mg.c:3301:2: note: ')' token is here
        LOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~
./thread.h:369:34: note: expanded from macro 'LOCK_DOLLARZERO_MUTEX'
#  define LOCK_DOLLARZERO_MUTEX         MUTEX_LOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3303:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        UNLOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~~~
./thread.h:370:35: note: expanded from macro 'UNLOCK_DOLLARZERO_MUTEX'
#  define UNLOCK_DOLLARZERO_MUTEX       MUTEX_UNLOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3303:2: note: '{' token is here
        UNLOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~~~
./thread.h:370:35: note: expanded from macro 'UNLOCK_DOLLARZERO_MUTEX'
#  define UNLOCK_DOLLARZERO_MUTEX       MUTEX_UNLOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
mg.c:3303:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        UNLOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~~~
./thread.h:370:35: note: expanded from macro 'UNLOCK_DOLLARZERO_MUTEX'
#  define UNLOCK_DOLLARZERO_MUTEX       MUTEX_UNLOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
mg.c:3303:2: note: ')' token is here
        UNLOCK_DOLLARZERO_MUTEX;
        ^~~~~~~~~~~~~~~~~~~~~~~
./thread.h:370:35: note: expanded from macro 'UNLOCK_DOLLARZERO_MUTEX'
#  define UNLOCK_DOLLARZERO_MUTEX       MUTEX_UNLOCK(&PL_dollarzero_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3473:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3473:5: note: '{' token is here
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
mg.c:3473:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3473:5: note: '{' token is here
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
mg.c:3473:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
mg.c:3473:5: note: ')' token is here
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3473:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
mg.c:3473:5: note: ')' token is here
    PUSHSTACKi(PERLSI_SIGNAL);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3474:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3474:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
mg.c:3474:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
mg.c:3474:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3510:16: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               EXTEND(SP, 2);
               ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3510:16: note: '{' token is here
               EXTEND(SP, 2);
               ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
mg.c:3510:16: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               EXTEND(SP, 2);
               ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
mg.c:3510:16: note: ')' token is here
               EXTEND(SP, 2);
               ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3524:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3524:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
mg.c:3524:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mg.c:3524:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
mg.c:3524:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
mg.c:3524:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mg.c:3524:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
mg.c:3524:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
194 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC reentr.c
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from reentr.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:438:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_hostent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:438:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_hostent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:438:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_hostent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:438:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_hostent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:473:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_grent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:473:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_grent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:473:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_grent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:473:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_grent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:510:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_netent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:510:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_netent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:510:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_netent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:510:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_netent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:544:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_pwent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:544:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_pwent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:544:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_pwent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:544:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_pwent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:610:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_protoent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:610:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_protoent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:610:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_protoent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:610:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_protoent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
reentr.c:643:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_servent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:5: note: expanded from macro 'RenewDouble'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
reentr.c:643:13: note: '{' token is here
            RenewDouble(PL_reentrant_buffer->_servent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:38:16: note: expanded from macro 'RenewDouble'
    STMT_START { \
               ^
reentr.c:643:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RenewDouble(PL_reentrant_buffer->_servent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:5: note: expanded from macro 'RenewDouble'
    } STMT_END
    ^
reentr.c:643:13: note: ')' token is here
            RenewDouble(PL_reentrant_buffer->_servent_buffer,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reentr.c:42:7: note: expanded from macro 'RenewDouble'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
110 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC mro_core.c
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from mro_core.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mro_core.c:1424:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mro_core.c:1424:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
mro_core.c:1424:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mro_core.c:1424:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
mro_core.c:1424:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
mro_core.c:1424:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mro_core.c:1424:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
mro_core.c:1424:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
102 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC keywords.c
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from keywords.c:9:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC hv.c
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from hv.c:35:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:112:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_HE(ohe);
        ^~~~~~~~~~~
hv.c:70:5: note: expanded from macro 'del_HE'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:112:2: note: '{' token is here
        del_HE(ohe);
        ^~~~~~~~~~~
hv.c:70:16: note: expanded from macro 'del_HE'
    STMT_START { \
               ^
hv.c:112:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_HE(ohe);
        ^~~~~~~~~~~
hv.c:73:5: note: expanded from macro 'del_HE'
    } STMT_END
    ^
hv.c:112:2: note: ')' token is here
        del_HE(ohe);
        ^~~~~~~~~~~
hv.c:73:7: note: expanded from macro 'del_HE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1008:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, ext);
            ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1008:13: note: '{' token is here
            EXTEND(SP, ext);
            ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
hv.c:1008:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, ext);
            ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
hv.c:1008:13: note: ')' token is here
            EXTEND(SP, ext);
            ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1026:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nkeys);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1026:9: note: '{' token is here
        EXTEND_MORTAL(nkeys);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
hv.c:1026:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nkeys);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
hv.c:1026:9: note: ')' token is here
        EXTEND_MORTAL(nkeys);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1027:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, ext);
        ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1027:9: note: '{' token is here
        EXTEND(SP, ext);
        ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
hv.c:1027:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, ext);
        ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
hv.c:1027:9: note: ')' token is here
        EXTEND(SP, ext);
        ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1653:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1578:57: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
#define HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys) STMT_START {\
                                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1653:9: note: '{' token is here
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1578:68: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
#define HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys) STMT_START {\
                                                                   ^
hv.c:1653:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1586:69: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
    HvMAX(hv) = hv_max;                                             \
                                                                    ^
hv.c:1653:9: note: ')' token is here
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1587:3: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1700:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1578:57: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
#define HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys) STMT_START {\
                                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1700:9: note: '{' token is here
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1578:68: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
#define HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys) STMT_START {\
                                                                   ^
hv.c:1700:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1586:69: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
    HvMAX(hv) = hv_max;                                             \
                                                                    ^
hv.c:1700:9: note: ')' token is here
        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hv.c:1587:3: note: expanded from macro 'HV_SET_MAX_ADJUSTED_FOR_KEYS'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1745:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    del_HE(entry);
    ^~~~~~~~~~~~~
hv.c:70:5: note: expanded from macro 'del_HE'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1745:5: note: '{' token is here
    del_HE(entry);
    ^~~~~~~~~~~~~
hv.c:70:16: note: expanded from macro 'del_HE'
    STMT_START { \
               ^
hv.c:1745:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    del_HE(entry);
    ^~~~~~~~~~~~~
hv.c:73:5: note: expanded from macro 'del_HE'
    } STMT_END
    ^
hv.c:1745:5: note: ')' token is here
    del_HE(entry);
    ^~~~~~~~~~~~~
hv.c:73:7: note: expanded from macro 'del_HE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:1806:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_MORTAL(1);
    ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:1806:5: note: '{' token is here
    EXTEND_MORTAL(1);
    ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
hv.c:1806:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_MORTAL(1);
    ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
hv.c:1806:5: note: ')' token is here
    EXTEND_MORTAL(1);
    ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:2062:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:2062:9: note: '{' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
hv.c:2062:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
hv.c:2062:9: note: ')' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:2732:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_HE(entry);
            ^~~~~~~~~~~~~
hv.c:70:5: note: expanded from macro 'del_HE'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:2732:13: note: '{' token is here
            del_HE(entry);
            ^~~~~~~~~~~~~
hv.c:70:16: note: expanded from macro 'del_HE'
    STMT_START { \
               ^
hv.c:2732:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_HE(entry);
            ^~~~~~~~~~~~~
hv.c:73:5: note: expanded from macro 'del_HE'
    } STMT_END
    ^
hv.c:2732:13: note: ')' token is here
            del_HE(entry);
            ^~~~~~~~~~~~~
hv.c:73:7: note: expanded from macro 'del_HE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3237:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(value, (char *) he->refcounted_he_data + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3237:2: note: '{' token is here
        SvPV_set(value, (char *) he->refcounted_he_data + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
hv.c:3237:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(value, (char *) he->refcounted_he_data + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
hv.c:3237:2: note: ')' token is here
        SvPV_set(value, (char *) he->refcounted_he_data + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3238:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(value, he->refcounted_he_val.refcounted_he_u_len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3238:2: note: '{' token is here
        SvCUR_set(value, he->refcounted_he_val.refcounted_he_u_len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
hv.c:3238:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(value, he->refcounted_he_val.refcounted_he_u_len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
hv.c:3238:2: note: ')' token is here
        SvCUR_set(value, he->refcounted_he_val.refcounted_he_u_len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3240:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(value, 0);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3240:2: note: '{' token is here
        SvLEN_set(value, 0);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
hv.c:3240:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(value, 0);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
hv.c:3240:2: note: ')' token is here
        SvLEN_set(value, 0);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3706:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3706:2: note: '{' token is here
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
hv.c:3706:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
hv.c:3706:2: note: ')' token is here
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3708:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3708:2: note: '{' token is here
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
hv.c:3708:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
hv.c:3708:2: note: ')' token is here
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3741:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3741:2: note: '{' token is here
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
hv.c:3741:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
hv.c:3741:2: note: ')' token is here
        HINTS_REFCNT_LOCK;
        ^~~~~~~~~~~~~~~~~
./hv.h:621:32: note: expanded from macro 'HINTS_REFCNT_LOCK'
#    define HINTS_REFCNT_LOCK           MUTEX_LOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
hv.c:3743:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
hv.c:3743:2: note: '{' token is here
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
hv.c:3743:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
hv.c:3743:2: note: ')' token is here
        HINTS_REFCNT_UNLOCK;
        ^~~~~~~~~~~~~~~~~~~
./hv.h:622:34: note: expanded from macro 'HINTS_REFCNT_UNLOCK'
#    define HINTS_REFCNT_UNLOCK         MUTEX_UNLOCK(&PL_hints_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
132 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC av.c
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from av.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
av.c:46:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
av.c:46:6: note: '{' token is here
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
av.c:46:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
av.c:46:6: note: ')' token is here
            SvREFCNT_inc_simple_void(sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
av.c:426:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
av.c:426:9: note: '{' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
av.c:426:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
av.c:426:9: note: ')' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
av.c:505:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
av.c:505:9: note: '{' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
av.c:505:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
av.c:505:9: note: ')' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
av.c:565:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
av.c:565:9: note: '{' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
av.c:565:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
av.c:565:9: note: ')' token is here
        EXTEND_MORTAL(1);
        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
106 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC run.c
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from run.c:26:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp_hot.c
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:1965:48: warning: implicit conversion from 'IV' (aka 'long') to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (UNLIKELY(nv < IV_MIN) || UNLIKELY(nv > IV_MAX)) {
                                 ~~~~~~~~~~~~~~^~~~~~~
./perl.h:1916:20: note: expanded from macro 'IV_MAX'
#    define IV_MAX PERL_QUAD_MAX
                   ^
./perl.h:2606:29: note: expanded from macro 'PERL_QUAD_MAX'
#    define PERL_QUAD_MAX       ((IV) (PERL_UQUAD_MAX >> 1))
                                 ^
./perl.h:3671:58: note: expanded from macro 'UNLIKELY'
#define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
                                            ~~~~~~~~~~~~~^~~~~~~~~~~~
./handy.h:111:24: note: expanded from macro 'cBOOL'
#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
                       ^~~~~
./perl.h:3650:62: note: expanded from macro 'EXPECT'
#  define EXPECT(expr,val)                  __builtin_expect(expr,val)
                                                             ^~~~
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp_hot.c:36:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:44:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:44:5: note: '{' token is here
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:44:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:44:5: note: '{' token is here
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:44:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:44:5: note: ')' token is here
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:44:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:44:5: note: ')' token is here
    XPUSHs(cSVOP_sv);
    ^~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:61:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:61:5: note: '{' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:61:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:61:5: note: ')' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:81:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(PL_stack_sp);
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:81:5: note: '{' token is here
    PUSHMARK(PL_stack_sp);
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_hot.c:81:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(PL_stack_sp);
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_hot.c:81:5: note: ')' token is here
    PUSHMARK(PL_stack_sp);
    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:91:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:91:5: note: '{' token is here
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:91:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:91:5: note: ')' token is here
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:99:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:99:5: note: '{' token is here
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:99:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:99:5: note: '{' token is here
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:99:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:99:5: note: ')' token is here
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:99:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:99:5: note: ')' token is here
    XPUSHs(MUTABLE_SV(cGVOP_gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:165:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(gv, value);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:165:3: note: '{' token is here
                SvRV_set(gv, value);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:165:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(gv, value);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:165:3: note: ')' token is here
                SvRV_set(gv, value);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:166:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(value);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:166:3: note: '{' token is here
                SvREFCNT_inc_simple_void(value);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_hot.c:166:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void(value);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_hot.c:166:3: note: ')' token is here
                SvREFCNT_inc_simple_void(value);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:189:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(right, MUTABLE_SV(newCONSTSUB(GvSTASH(left), NULL,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:189:3: note: '{' token is here
                SvRV_set(right, MUTABLE_SV(newCONSTSUB(GvSTASH(left), NULL,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:189:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(right, MUTABLE_SV(newCONSTSUB(GvSTASH(left), NULL,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:189:3: note: ')' token is here
                SvRV_set(right, MUTABLE_SV(newCONSTSUB(GvSTASH(left), NULL,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:215:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(right, MUTABLE_SV(source));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:215:3: note: '{' token is here
                SvRV_set(right, MUTABLE_SV(source));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:215:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(right, MUTABLE_SV(source));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:215:3: note: ')' token is here
                SvRV_set(right, MUTABLE_SV(source));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:227:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:227:5: note: '{' token is here
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
pp_hot.c:227:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:227:5: note: '{' token is here
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:227:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:227:5: note: ')' token is here
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:227:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
pp_hot.c:227:5: note: ')' token is here
    SvSetMagicSV(left, right);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:252:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:252:2: note: '{' token is here
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:252:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:252:2: note: ')' token is here
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:324:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:324:5: note: '{' token is here
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:324:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:324:5: note: ')' token is here
    SvSETMAGIC(TARG);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:330:18: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:330:18: note: '{' token is here
  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp_hot.c:330:18: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp_hot.c:330:18: note: ')' token is here
  dSP; dATARGET; tryAMAGICbin_MG(concat_amg, AMGf_assign);
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:454:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP,1);
            ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:454:13: note: '{' token is here
            EXTEND(SP,1);
            ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:454:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP,1);
            ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:454:13: note: ')' token is here
            EXTEND(SP,1);
            ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:908:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(targ, targ_pv - SvPVX(targ));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:908:5: note: '{' token is here
    SvCUR_set(targ, targ_pv - SvPVX(targ));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:908:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(targ, targ_pv - SvPVX(targ));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:908:5: note: ')' token is here
    SvCUR_set(targ, targ_pv - SvPVX(targ));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:919:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:919:5: note: '{' token is here
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp_hot.c:919:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:919:5: note: '{' token is here
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:919:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:919:5: note: ')' token is here
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:919:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp_hot.c:919:5: note: ')' token is here
    SvTAINT(targ);
    ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:920:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:920:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:920:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:920:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:920:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:920:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:920:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp_hot.c:920:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:996:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(tmp);
                ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:996:17: note: '{' token is here
                SvSETMAGIC(tmp);
                ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:996:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(tmp);
                ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:996:17: note: ')' token is here
                SvSETMAGIC(tmp);
                ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1070:29: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvSETMAGIC(left);
                            ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1070:29: note: '{' token is here
                            SvSETMAGIC(left);
                            ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:1070:29: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvSETMAGIC(left);
                            ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:1070:29: note: ')' token is here
                            SvSETMAGIC(left);
                            ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1111:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(targ);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1111:13: note: '{' token is here
            SvSETMAGIC(targ);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:1111:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(targ);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:1111:13: note: ')' token is here
            SvSETMAGIC(targ);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1129:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, maxarg);
    ^~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1129:5: note: '{' token is here
    EXTEND(SP, maxarg);
    ^~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1129:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, maxarg);
    ^~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1129:5: note: ')' token is here
    EXTEND(SP, maxarg);
    ^~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1167:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1167:9: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_hot.c:1167:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_hot.c:1167:9: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1176:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, count);
        ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1176:9: note: '{' token is here
        EXTEND(SP, count);
        ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1176:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, count);
        ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1176:9: note: ')' token is here
        EXTEND(SP, count);
        ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1177:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1177:9: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_hot.c:1177:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_hot.c:1177:9: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1189:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(OPpPADRANGE_COUNTMASK + 1 == (1 << OPpPADRANGE_COUNTSHIFT));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1189:9: note: '{' token is here
        STATIC_ASSERT_STMT(OPpPADRANGE_COUNTMASK + 1 == (1 << OPpPADRANGE_COUNTSHIFT));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
pp_hot.c:1189:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(OPpPADRANGE_COUNTMASK + 1 == (1 << OPpPADRANGE_COUNTSHIFT));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
pp_hot.c:1189:9: note: ')' token is here
        STATIC_ASSERT_STMT(OPpPADRANGE_COUNTMASK + 1 == (1 << OPpPADRANGE_COUNTSHIFT));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1208:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1208:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1208:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1208:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:584:5: note: expanded from macro 'tryAMAGICunTARGETlist'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1242:2: note: '{' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:584:16: note: expanded from macro 'tryAMAGICunTARGETlist'
    STMT_START {                                                \
               ^
pp_hot.c:1242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1242:2: note: '{' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1242:2: note: ')' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1242:2: note: '{' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1242:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1242:2: note: '{' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:1242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:1242:2: note: ')' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp_hot.c:1242:2: note: ')' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1242:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:626:5: note: expanded from macro 'tryAMAGICunTARGETlist'
    } STMT_END
    ^
pp_hot.c:1242:2: note: ')' token is here
        tryAMAGICunTARGETlist(iter_amg, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:626:7: note: expanded from macro 'tryAMAGICunTARGETlist'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1251:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1251:6: note: '{' token is here
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:1251:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1251:6: note: '{' token is here
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1251:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1251:6: note: ')' token is here
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1251:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:1251:6: note: ')' token is here
            XPUSHs(MUTABLE_SV(PL_last_in_gv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1266:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(eq_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1266:5: note: '{' token is here
    tryAMAGICbin_MG(eq_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp_hot.c:1266:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(eq_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp_hot.c:1266:5: note: ')' token is here
    tryAMAGICbin_MG(eq_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1290:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, SvIVX(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1290:2: note: '{' token is here
        SvIV_set(sv, SvIVX(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
pp_hot.c:1290:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, SvIVX(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
pp_hot.c:1290:2: note: ')' token is here
        SvIV_set(sv, SvIVX(sv) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1294:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1294:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:1294:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:1294:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1311:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, SvIVX(sv) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1311:2: note: '{' token is here
        SvIV_set(sv, SvIVX(sv) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
pp_hot.c:1311:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, SvIVX(sv) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
pp_hot.c:1311:2: note: ')' token is here
        SvIV_set(sv, SvIVX(sv) - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1315:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1315:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:1315:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:1315:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1404:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(add_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1404:5: note: '{' token is here
    tryAMAGICbin_MG(add_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp_hot.c:1404:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(add_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp_hot.c:1404:5: note: ')' token is here
    tryAMAGICbin_MG(add_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1428:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il + ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1428:17: note: '{' token is here
                TARGi(il + ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:1428:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il + ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:1428:17: note: ')' token is here
                TARGi(il + ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1444:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1444:13: note: '{' token is here
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp_hot.c:1444:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1444:13: note: '{' token is here
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp_hot.c:1444:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp_hot.c:1444:13: note: ')' token is here
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1444:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp_hot.c:1444:13: note: ')' token is here
            TARGn(nl + nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1583:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1583:7: note: '{' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1583:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1583:7: note: '{' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp_hot.c:1583:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp_hot.c:1583:7: note: ')' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1583:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1583:7: note: ')' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1587:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1587:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1587:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1587:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:1587:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:1587:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1587:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1587:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1591:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1591:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1591:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1591:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp_hot.c:1591:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1591:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp_hot.c:1591:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp_hot.c:1591:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1591:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp_hot.c:1591:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1591:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1591:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1608:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1608:6: note: '{' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1608:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1608:6: note: '{' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp_hot.c:1608:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1608:6: note: '{' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp_hot.c:1608:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp_hot.c:1608:6: note: ')' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1608:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp_hot.c:1608:6: note: ')' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1608:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1608:6: note: ')' token is here
            SETn(value);
            ^~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1611:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1611:2: note: '{' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1611:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1611:2: note: '{' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp_hot.c:1611:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1611:2: note: '{' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp_hot.c:1611:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp_hot.c:1611:2: note: ')' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1611:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp_hot.c:1611:2: note: ')' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1611:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1611:2: note: ')' token is here
        SETn( value + SvNV_nomg(svl) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1631:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1631:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1631:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1631:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1686:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1686:6: note: '{' token is here
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp_hot.c:1686:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1686:6: note: ')' token is here
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1754:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1754:5: note: '{' token is here
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:1754:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1754:5: note: '{' token is here
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1754:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1754:5: note: ')' token is here
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1754:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:1754:5: note: ')' token is here
    XPUSHs(&PL_sv_yes);
    ^~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1759:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1759:5: note: '{' token is here
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:1759:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1759:5: note: '{' token is here
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1759:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1759:5: note: ')' token is here
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1759:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:1759:5: note: ')' token is here
    XPUSHs(&PL_sv_undef);
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1824:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1824:17: note: '{' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_hot.c:1824:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1824:17: note: '{' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:1824:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:1824:17: note: ')' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1824:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_hot.c:1824:17: note: ')' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1837:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1837:17: note: '{' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_hot.c:1837:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1837:17: note: '{' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:1837:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:1837:17: note: ')' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1837:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_hot.c:1837:17: note: ')' token is here
                PUSHi(i);
                ^~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1858:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1858:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1858:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1858:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1902:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1902:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:1902:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:1902:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1998:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1998:17: note: '{' token is here
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:1998:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:1998:17: note: '{' token is here
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:1998:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:1998:17: note: ')' token is here
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:1998:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:1998:17: note: ')' token is here
                SETi(maxarg);
                ^~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2354:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2354:13: note: '{' token is here
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:2354:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:2354:13: note: ')' token is here
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2430:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(rsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2430:21: note: '{' token is here
                    SvSETMAGIC(rsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2430:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(rsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2430:21: note: ')' token is here
                    SvSETMAGIC(rsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2457:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(MUTABLE_SV(ary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2457:3: note: '{' token is here
                SvSETMAGIC(MUTABLE_SV(ary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2457:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(MUTABLE_SV(ary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2457:3: note: ')' token is here
                SvSETMAGIC(MUTABLE_SV(ary));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2496:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2496:13: note: '{' token is here
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:2496:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:2496:13: note: ')' token is here
            EXTEND_MORTAL(nelems + 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2543:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2543:17: note: '{' token is here
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:2543:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:2543:17: note: ')' token is here
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2561:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2561:17: note: '{' token is here
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:2561:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:2561:17: note: ')' token is here
                EXTEND_MORTAL(nelems);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2571:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        EXTEND_MORTAL(n);
                        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2571:25: note: '{' token is here
                        EXTEND_MORTAL(n);
                        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:2571:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        EXTEND_MORTAL(n);
                        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:2571:25: note: ')' token is here
                        EXTEND_MORTAL(n);
                        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2611:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2611:21: note: '{' token is here
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2611:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2611:21: note: ')' token is here
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2638:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2638:21: note: '{' token is here
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2638:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2638:21: note: ')' token is here
                    SvSETMAGIC(val);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2701:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2701:17: note: '{' token is here
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2701:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2701:17: note: ')' token is here
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2728:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(lsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2728:21: note: '{' token is here
                    SvSETMAGIC(lsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2728:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(lsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2728:21: note: ')' token is here
                    SvSETMAGIC(lsv);
                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2740:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2740:17: note: '{' token is here
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:2740:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:2740:17: note: ')' token is here
                SvSETMAGIC(lsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2759:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2759:6: note: '{' token is here
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
pp_hot.c:2759:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
pp_hot.c:2759:6: note: ')' token is here
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2793:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2793:6: note: '{' token is here
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
pp_hot.c:2793:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
pp_hot.c:2793:6: note: ')' token is here
            PERL_UNUSED_RESULT(
            ^~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2838:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2838:9: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:2838:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:2838:9: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2843:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2843:13: note: '{' token is here
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:2843:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2843:13: note: '{' token is here
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:2843:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:2843:13: note: ')' token is here
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2843:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_hot.c:2843:13: note: ')' token is here
            SETi(firstlelem - firstrelem);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2870:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, MUTABLE_SV(reg_temp_copy(NULL, rx)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2870:5: note: '{' token is here
    SvRV_set(rv, MUTABLE_SV(reg_temp_copy(NULL, rx)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:2870:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, MUTABLE_SV(reg_temp_copy(NULL, rx)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:2870:5: note: ')' token is here
    SvRV_set(rv, MUTABLE_SV(reg_temp_copy(NULL, rx)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2886:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(rv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2886:9: note: '{' token is here
        SvTAINTED_on(rv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:2886:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(rv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:2886:9: note: ')' token is here
        SvTAINTED_on(rv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2887:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(SvRV(rv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2887:9: note: '{' token is here
        SvTAINTED_on(SvRV(rv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:2887:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(SvRV(rv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:2887:9: note: ')' token is here
        SvTAINTED_on(SvRV(rv));
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2889:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2889:5: note: '{' token is here
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:2889:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2889:5: note: '{' token is here
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:2889:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:2889:5: note: ')' token is here
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2889:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:2889:5: note: ')' token is here
    XPUSHs(rv);
    ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2902:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:1108:5: note: expanded from macro 'DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX'
    STMT_START {                                                               \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2902:5: note: '{' token is here
    DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:1108:16: note: expanded from macro 'DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX'
    STMT_START {                                                               \
               ^
pp_hot.c:2902:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:1114:5: note: expanded from macro 'DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX'
    } STMT_END
    ^
pp_hot.c:2902:5: note: ')' token is here
    DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX;
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regcomp.h:1114:7: note: expanded from macro 'DECLARE_AND_GET_RE_DEBUG_FLAGS_NON_REGEX'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:2962:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:2962:2: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:2962:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:2962:2: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3089:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3089:2: note: '{' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:3089:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:3089:2: note: ')' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3100:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3100:2: note: '{' token is here
        EXTEND(SP, nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:3100:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:3100:2: note: ')' token is here
        EXTEND(SP, nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3101:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3101:2: note: '{' token is here
        EXTEND_MORTAL(nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:3101:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:3101:2: note: ')' token is here
        EXTEND_MORTAL(nparens + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3130:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3130:2: note: '{' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:3130:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:3130:2: note: ')' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3142:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3142:5: note: '{' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:3142:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:3142:5: note: ')' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3166:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3166:3: note: '{' token is here
                SvSetSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
pp_hot.c:3166:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
pp_hot.c:3166:3: note: ')' token is here
                SvSetSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3167:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3167:3: note: '{' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp_hot.c:3167:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3167:3: note: '{' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:3167:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:3167:3: note: ')' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3167:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETTARG;
                ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp_hot.c:3167:3: note: ')' token is here
                SETTARG;
                ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3182:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvTAINTED_off(GvSVn(PL_last_in_gv)); /* previous tainting irrelevant */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3182:4: note: '{' token is here
                        SvTAINTED_off(GvSVn(PL_last_in_gv)); /* previous tainting irrelevant */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp_hot.c:3182:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvTAINTED_off(GvSVn(PL_last_in_gv)); /* previous tainting irrelevant */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp_hot.c:3182:4: note: ')' token is here
                        SvTAINTED_off(GvSVn(PL_last_in_gv)); /* previous tainting irrelevant */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3184:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvSETMAGIC(GvSV(PL_last_in_gv));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3184:4: note: '{' token is here
                        SvSETMAGIC(GvSV(PL_last_in_gv));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:3184:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvSETMAGIC(GvSV(PL_last_in_gv));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:3184:4: note: ')' token is here
                        SvSETMAGIC(GvSV(PL_last_in_gv));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3215:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3215:6: note: '{' token is here
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_hot.c:3215:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3215:6: note: '{' token is here
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:3215:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:3215:6: note: ')' token is here
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3215:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_hot.c:3215:6: note: ')' token is here
            PUSHTARG;
            ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3294:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3294:3: note: '{' token is here
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_hot.c:3294:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3294:3: note: '{' token is here
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:3294:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:3294:3: note: ')' token is here
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3294:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_hot.c:3294:3: note: ')' token is here
                PUSHTARG;
                ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3296:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MAYBE_TAINT_LINE(io, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3296:6: note: '{' token is here
            MAYBE_TAINT_LINE(io, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:3296:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MAYBE_TAINT_LINE(io, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:3296:6: note: ')' token is here
            MAYBE_TAINT_LINE(io, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3299:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MAYBE_TAINT_LINE(io, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3299:2: note: '{' token is here
        MAYBE_TAINT_LINE(io, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:3299:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MAYBE_TAINT_LINE(io, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:3299:2: note: ')' token is here
        MAYBE_TAINT_LINE(io, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:3258:2: note: expanded from macro 'MAYBE_TAINT_LINE'
        SvTAINTED_on(sv);               \
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3302:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3302:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:3302:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:3302:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3304:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3304:2: note: '{' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:3304:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3304:2: note: '{' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:3304:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:3304:2: note: ')' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3304:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:3304:2: note: ')' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3313:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3313:7: note: '{' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:3313:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:3313:7: note: ')' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3342:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:32: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3342:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:43: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                                          ^
pp_hot.c:3342:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3342:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
pp_hot.c:3342:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3342:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_hot.c:3342:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_hot.c:3342:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3342:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3342:3: note: '{' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:3342:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:3342:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3342:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
pp_hot.c:3342:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3342:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:4: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                 ^
pp_hot.c:3342:3: note: ')' token is here
                SvPV_shrink_to_cur(sv);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:6: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3351:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3351:6: note: '{' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
pp_hot.c:3351:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3351:6: note: '{' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_hot.c:3351:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_hot.c:3351:6: note: ')' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3351:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3351:6: note: '{' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:3351:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:3351:6: note: ')' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3351:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
pp_hot.c:3351:6: note: ')' token is here
            SvPV_renew(sv, new_len);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3676:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3676:17: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:3676:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:3676:17: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:3676:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:3676:17: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:3676:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:3676:17: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4014:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4014:13: note: '{' token is here
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
pp_hot.c:4014:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:4014:13: note: '{' token is here
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:4014:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:4014:13: note: ')' token is here
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_hot.c:4014:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
pp_hot.c:4014:13: note: ')' token is here
            SvSetMagicSV(*itersvp, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4056:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_SKIP(PL_stack_sp, 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:365:29: note: expanded from macro 'EXTEND_SKIP'
#  define EXTEND_SKIP(p, n) STMT_START {                                \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4056:9: note: '{' token is here
        EXTEND_SKIP(PL_stack_sp, 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:365:40: note: expanded from macro 'EXTEND_SKIP'
#  define EXTEND_SKIP(p, n) STMT_START {                                \
                                       ^
pp_hot.c:4056:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_SKIP(PL_stack_sp, 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:368:27: note: expanded from macro 'EXTEND_SKIP'
                          } STMT_END
                          ^
pp_hot.c:4056:9: note: ')' token is here
        EXTEND_SKIP(PL_stack_sp, 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:368:29: note: expanded from macro 'EXTEND_SKIP'
                          } STMT_END
                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4066:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_SKIP(PL_stack_sp, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:365:29: note: expanded from macro 'EXTEND_SKIP'
#  define EXTEND_SKIP(p, n) STMT_START {                                \
                            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4066:5: note: '{' token is here
    EXTEND_SKIP(PL_stack_sp, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:365:40: note: expanded from macro 'EXTEND_SKIP'
#  define EXTEND_SKIP(p, n) STMT_START {                                \
                                       ^
pp_hot.c:4066:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_SKIP(PL_stack_sp, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:368:27: note: expanded from macro 'EXTEND_SKIP'
                          } STMT_END
                          ^
pp_hot.c:4066:5: note: ')' token is here
    EXTEND_SKIP(PL_stack_sp, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:368:29: note: expanded from macro 'EXTEND_SKIP'
                          } STMT_END
                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4192:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4192:2: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:4192:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:4192:2: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4277:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4277:2: note: '{' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:4277:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:4277:2: note: ')' token is here
        LEAVE_SCOPE(oldsave);
        ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4287:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             SvSetSV(nsv, dstr);
             ^~~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4287:7: note: '{' token is here
             SvSetSV(nsv, dstr);
             ^~~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
pp_hot.c:4287:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             SvSetSV(nsv, dstr);
             ^~~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
pp_hot.c:4287:7: note: ')' token is here
             SvSetSV(nsv, dstr);
             ^~~~~~~~~~~~~~~~~~
./sv.h:2162:3: note: expanded from macro 'SvSetSV'
                SvSetSV_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4355:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, m - s);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4355:3: note: '{' token is here
                SvCUR_set(TARG, m - s);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:4355:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, m - s);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:4355:3: note: ')' token is here
                SvCUR_set(TARG, m - s);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4396:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, d - SvPVX_const(TARG) + i);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4396:3: note: '{' token is here
                SvCUR_set(TARG, d - SvPVX_const(TARG) + i);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:4396:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, d - SvPVX_const(TARG) + i);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:4396:3: note: ')' token is here
                SvCUR_set(TARG, d - SvPVX_const(TARG) + i);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4501:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4501:3: note: '{' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
pp_hot.c:4501:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4501:3: note: '{' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
pp_hot.c:4501:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
pp_hot.c:4501:3: note: ')' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4501:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4501:3: note: '{' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:4501:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:4501:3: note: ')' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4501:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
pp_hot.c:4501:3: note: ')' token is here
                SvPV_free(TARG);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4503:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(TARG, SvPVX(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4503:6: note: '{' token is here
            SvPV_set(TARG, SvPVX(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:4503:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(TARG, SvPVX(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:4503:6: note: ')' token is here
            SvPV_set(TARG, SvPVX(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4504:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG, SvCUR(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4504:6: note: '{' token is here
            SvCUR_set(TARG, SvCUR(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:4504:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG, SvCUR(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:4504:6: note: ')' token is here
            SvCUR_set(TARG, SvCUR(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4505:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(TARG, SvLEN(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4505:6: note: '{' token is here
            SvLEN_set(TARG, SvLEN(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_hot.c:4505:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(TARG, SvLEN(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_hot.c:4505:6: note: ')' token is here
            SvLEN_set(TARG, SvLEN(dstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4507:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4507:6: note: '{' token is here
            SvPV_set(dstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:4507:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:4507:6: note: ')' token is here
            SvPV_set(dstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4532:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(TOPs);  /* taint return value */
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4532:6: note: '{' token is here
            SvTAINTED_on(TOPs);  /* taint return value */
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:4532:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(TOPs);  /* taint return value */
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:4532:6: note: ')' token is here
            SvTAINTED_on(TOPs);  /* taint return value */
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4534:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(TOPs);  /* may have got tainted earlier */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4534:6: note: '{' token is here
            SvTAINTED_off(TOPs);  /* may have got tainted earlier */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp_hot.c:4534:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(TOPs);  /* may have got tainted earlier */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp_hot.c:4534:6: note: ')' token is here
            SvTAINTED_off(TOPs);  /* may have got tainted earlier */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4540:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4540:2: note: '{' token is here
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp_hot.c:4540:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4540:2: note: '{' token is here
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_hot.c:4540:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_hot.c:4540:2: note: ')' token is here
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4540:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp_hot.c:4540:2: note: ')' token is here
        SvTAINT(TARG);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4542:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG); /* PL_tainted must be correctly set for this mg_set */
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4542:5: note: '{' token is here
    SvSETMAGIC(TARG); /* PL_tainted must be correctly set for this mg_set */
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:4542:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(TARG); /* PL_tainted must be correctly set for this mg_set */
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:4542:5: note: ')' token is here
    SvSETMAGIC(TARG); /* PL_tainted must be correctly set for this mg_set */
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4544:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4544:5: note: '{' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:4544:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:4544:5: note: ')' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4574:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4574:3: note: '{' token is here
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_hot.c:4574:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4574:3: note: '{' token is here
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_hot.c:4574:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_hot.c:4574:3: note: ')' token is here
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4574:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_hot.c:4574:3: note: ')' token is here
                PUSHi(items);
                ^~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4680:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4680:13: note: '{' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:4680:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:4680:13: note: ')' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4701:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nargs); /* one big extend for worst-case scenario */
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4701:9: note: '{' token is here
        EXTEND_MORTAL(nargs); /* one big extend for worst-case scenario */
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:4701:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(nargs); /* one big extend for worst-case scenario */
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:4701:9: note: ')' token is here
        EXTEND_MORTAL(nargs); /* one big extend for worst-case scenario */
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4874:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND_MORTAL(nargs);
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4874:21: note: '{' token is here
                    EXTEND_MORTAL(nargs);
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_hot.c:4874:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND_MORTAL(nargs);
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_hot.c:4874:21: note: ')' token is here
                    EXTEND_MORTAL(nargs);
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:4949:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:4949:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_hot.c:4949:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_hot.c:4949:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5235:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5235:3: note: '{' token is here
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5235:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5235:3: note: ')' token is here
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5433:2: note: '{' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5433:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
pp_hot.c:5433:2: note: ')' token is here
        prepare_SV_for_RV(sv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5436:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, newSV(0));
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5436:6: note: '{' token is here
            SvRV_set(sv, newSV(0));
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:5436:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, newSV(0));
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:5436:6: note: ')' token is here
            SvRV_set(sv, newSV(0));
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5439:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, MUTABLE_SV(newAV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5439:6: note: '{' token is here
            SvRV_set(sv, MUTABLE_SV(newAV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:5439:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, MUTABLE_SV(newAV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:5439:6: note: ')' token is here
            SvRV_set(sv, MUTABLE_SV(newAV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5442:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, MUTABLE_SV(newHV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5442:6: note: '{' token is here
            SvRV_set(sv, MUTABLE_SV(newHV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp_hot.c:5442:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(sv, MUTABLE_SV(newHV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp_hot.c:5442:6: note: ')' token is here
            SvRV_set(sv, MUTABLE_SV(newHV()));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5446:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5446:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_hot.c:5446:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_hot.c:5446:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5589:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5589:9: note: '{' token is here
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5589:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5589:9: note: '{' token is here
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5589:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5589:9: note: ')' token is here
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5589:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5589:9: note: ')' token is here
        METHOD_CHECK_CACHE(stash, stash, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5595:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5595:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5595:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5595:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5595:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5595:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5595:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5595:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5612:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5612:9: note: '{' token is here
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5612:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5612:9: note: '{' token is here
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5612:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5612:9: note: ')' token is here
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5612:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5612:9: note: ')' token is here
        METHOD_CHECK_CACHE(stash, cache, meth);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5618:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5618:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5618:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5618:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5618:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5618:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5618:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5618:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5630:18: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5630:18: note: '{' token is here
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5630:18: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5630:18: note: '{' token is here
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5630:18: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5630:18: note: ')' token is here
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5630:18: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5630:18: note: ')' token is here
    if (stash) { METHOD_CHECK_CACHE(stash, stash, meth); }
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5636:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5636:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5636:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5636:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5636:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5636:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5636:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5636:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5651:10: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5651:10: note: '{' token is here
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5651:10: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5651:10: note: '{' token is here
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5651:10: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5651:10: note: ')' token is here
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5651:10: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5651:10: note: ')' token is here
         METHOD_CHECK_CACHE(stash, cache, meth);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_hot.c:5576:13: note: expanded from macro 'METHOD_CHECK_CACHE'
            XPUSHs(MUTABLE_SV(GvCV(gv)));                               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5657:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5657:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_hot.c:5657:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_hot.c:5657:5: note: '{' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_hot.c:5657:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_hot.c:5657:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_hot.c:5657:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_hot.c:5657:5: note: ')' token is here
    XPUSHs(isGV(gv) ? MUTABLE_SV(GvCV(gv)) : MUTABLE_SV(gv));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
461 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC sv.c
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from sv.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:310:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    uproot_SV(sv);
    ^~~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:310:5: note: '{' token is here
    uproot_SV(sv);
    ^~~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:310:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    uproot_SV(sv);
    ^~~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:310:5: note: ')' token is here
    uproot_SV(sv);
    ^~~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:530:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:530:3: note: '{' token is here
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:530:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:530:3: note: ')' token is here
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:533:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:533:3: note: '{' token is here
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:533:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:533:3: note: ')' token is here
                SvRV_set(ref, NULL);
                ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1190:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_body_inline(xpv, sv_type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:5: note: expanded from macro 'new_body_inline'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1190:5: note: '{' token is here
    new_body_inline(xpv, sv_type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:16: note: expanded from macro 'new_body_inline'
    STMT_START { \
               ^
sv.c:1190:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_body_inline(xpv, sv_type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:5: note: expanded from macro 'new_body_inline'
    } STMT_END
    ^
sv.c:1190:5: note: ')' token is here
    new_body_inline(xpv, sv_type);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:7: note: expanded from macro 'new_body_inline'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1304:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(SVt_IV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1304:2: note: '{' token is here
        STATIC_ASSERT_STMT(SVt_IV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:1304:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(SVt_IV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:1304:2: note: ')' token is here
        STATIC_ASSERT_STMT(SVt_IV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1305:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(SVt_NV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1305:2: note: '{' token is here
        STATIC_ASSERT_STMT(SVt_NV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:1305:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATIC_ASSERT_STMT(SVt_NV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:1305:2: note: ')' token is here
        STATIC_ASSERT_STMT(SVt_NV < SVt_PV);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1339:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1339:2: note: '{' token is here
        SvIV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:1339:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:1339:2: note: ')' token is here
        SvIV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1348:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1348:2: note: '{' token is here
        SvNV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:1348:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:1348:2: note: ')' token is here
        SvNV_set(sv, 0);
        ^~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1358:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_body_inline(new_body, new_type);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:5: note: expanded from macro 'new_body_inline'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1358:2: note: '{' token is here
        new_body_inline(new_body, new_type);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:16: note: expanded from macro 'new_body_inline'
    STMT_START { \
               ^
sv.c:1358:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_body_inline(new_body, new_type);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:5: note: expanded from macro 'new_body_inline'
    } STMT_END
    ^
sv.c:1358:2: note: ')' token is here
        new_body_inline(new_body, new_type);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:7: note: expanded from macro 'new_body_inline'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1399:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, ((XPVMG*)old_body)->xmg_u.xmg_magic);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1399:6: note: '{' token is here
            SvMAGIC_set(sv, ((XPVMG*)old_body)->xmg_u.xmg_magic);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:1399:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, ((XPVMG*)old_body)->xmg_u.xmg_magic);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:1399:6: note: ')' token is here
            SvMAGIC_set(sv, ((XPVMG*)old_body)->xmg_u.xmg_magic);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1400:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(sv, ((XPVMG*)old_body)->xmg_stash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1400:6: note: '{' token is here
            SvSTASH_set(sv, ((XPVMG*)old_body)->xmg_stash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:1400:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(sv, ((XPVMG*)old_body)->xmg_stash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:1400:6: note: ')' token is here
            SvSTASH_set(sv, ((XPVMG*)old_body)->xmg_stash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1428:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_body_inline(new_body, new_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:5: note: expanded from macro 'new_body_inline'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1428:6: note: '{' token is here
            new_body_inline(new_body, new_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:16: note: expanded from macro 'new_body_inline'
    STMT_START { \
               ^
sv.c:1428:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_body_inline(new_body, new_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:5: note: expanded from macro 'new_body_inline'
    } STMT_END
    ^
sv.c:1428:6: note: ')' token is here
            new_body_inline(new_body, new_type);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:7: note: expanded from macro 'new_body_inline'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1475:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1475:6: note: '{' token is here
            SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:1475:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:1475:6: note: ')' token is here
            SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1499:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_body((void*)((char*)old_body + old_type_details->offset),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:5: note: expanded from macro 'del_body'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1499:2: note: '{' token is here
        del_body((void*)((char*)old_body + old_type_details->offset),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:16: note: expanded from macro 'del_body'
    STMT_START {                                        \
               ^
sv.c:1499:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_body((void*)((char*)old_body + old_type_details->offset),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:5: note: expanded from macro 'del_body'
    } STMT_END
    ^
sv.c:1499:2: note: ')' token is here
        del_body((void*)((char*)old_body + old_type_details->offset),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:7: note: expanded from macro 'del_body'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1530:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvOOK_offset(sv, delta);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1530:5: note: '{' token is here
    SvOOK_offset(sv, delta);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:1530:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvOOK_offset(sv, delta);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:1530:5: note: ')' token is here
    SvOOK_offset(sv, delta);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1532:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, SvLEN(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1532:5: note: '{' token is here
    SvLEN_set(sv, SvLEN(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:1532:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, SvLEN(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:1532:5: note: ')' token is here
    SvLEN_set(sv, SvLEN(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1533:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, SvPVX(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1533:5: note: '{' token is here
    SvPV_set(sv, SvPVX(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:1533:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, SvPVX(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:1533:5: note: ')' token is here
    SvPV_set(sv, SvPVX(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1621:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(sv, s);
        ^~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1621:2: note: '{' token is here
        SvPV_set(sv, s);
        ^~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:1621:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(sv, s);
        ^~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:1621:2: note: ')' token is here
        SvPV_set(sv, s);
        ^~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1628:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(sv, newlen);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1628:9: note: '{' token is here
        SvLEN_set(sv, newlen);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:1628:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvLEN_set(sv, newlen);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:1628:9: note: ')' token is here
        SvLEN_set(sv, newlen);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1675:5: note: '{' token is here
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:1675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:1675:5: note: ')' token is here
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1676:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1676:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:1676:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1676:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:1676:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:1676:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1676:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:1676:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1693:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1693:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:1693:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:1693:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1727:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1727:5: note: '{' token is here
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:1727:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:1727:5: note: ')' token is here
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1744:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1744:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:1744:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:1744:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1788:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(sv, num);
    ^~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1788:5: note: '{' token is here
    SvNV_set(sv, num);
    ^~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:1788:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(sv, num);
    ^~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:1788:5: note: ')' token is here
    SvNV_set(sv, num);
    ^~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1790:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1790:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:1790:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1790:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:1790:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:1790:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1790:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:1790:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:1807:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:1807:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:1807:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:1807:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2064:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, IV_MIN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2064:2: note: '{' token is here
        SvIV_set(sv, IV_MIN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2064:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, IV_MIN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2064:2: note: ')' token is here
        SvIV_set(sv, IV_MIN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2071:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvUV_set(sv, UV_MAX);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2071:2: note: '{' token is here
        SvUV_set(sv, UV_MAX);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:2071:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvUV_set(sv, UV_MAX);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:2071:2: note: ')' token is here
        SvUV_set(sv, UV_MAX);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2079:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, I_V(SvNVX(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2079:9: note: '{' token is here
        SvIV_set(sv, I_V(SvNVX(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2079:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, I_V(SvNVX(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2079:9: note: ')' token is here
        SvIV_set(sv, I_V(SvNVX(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2088:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, U_V(SvNVX(sv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2088:5: note: '{' token is here
    SvUV_set(sv, U_V(SvNVX(sv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:2088:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, U_V(SvNVX(sv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:2088:5: note: ')' token is here
    SvUV_set(sv, U_V(SvNVX(sv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2078:22: warning: implicit conversion from 'UV' (aka 'unsigned long') to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (SvNVX(sv) <= (UV)IV_MAX) {
                  ~~ ^~~~~~~~~~
sv.c:2113:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, (numtype & IS_NUMBER_NEG) ? -NV_INF : NV_INF);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2113:9: note: '{' token is here
        SvNV_set(sv, (numtype & IS_NUMBER_NEG) ? -NV_INF : NV_INF);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2113:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, (numtype & IS_NUMBER_NEG) ? -NV_INF : NV_INF);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2113:9: note: ')' token is here
        SvNV_set(sv, (numtype & IS_NUMBER_NEG) ? -NV_INF : NV_INF);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2119:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, NV_NAN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2119:9: note: '{' token is here
        SvNV_set(sv, NV_NAN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2119:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, NV_NAN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2119:9: note: ')' token is here
        SvNV_set(sv, NV_NAN);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2124:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2124:9: note: '{' token is here
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2124:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2124:9: note: ')' token is here
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2163:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, I_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2163:6: note: '{' token is here
            SvIV_set(sv, I_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2163:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, I_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2163:6: note: ')' token is here
            SvIV_set(sv, I_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2206:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvUV_set(sv, U_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2206:6: note: '{' token is here
            SvUV_set(sv, U_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:2206:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvUV_set(sv, U_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:2206:6: note: ')' token is here
            SvUV_set(sv, U_V(SvNVX(sv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2242:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, (IV)(c - '0'));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2242:17: note: '{' token is here
                SvIV_set(sv, (IV)(c - '0'));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2242:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, (IV)(c - '0'));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2242:17: note: ')' token is here
                SvIV_set(sv, (IV)(c - '0'));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2292:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2292:7: note: '{' token is here
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2292:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2292:7: note: ')' token is here
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2295:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2295:7: note: '{' token is here
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:2295:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:2295:7: note: ')' token is here
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2301:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, value == (UV)IV_MIN
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2301:7: note: '{' token is here
                    SvIV_set(sv, value == (UV)IV_MIN
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2301:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, value == (UV)IV_MIN
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2301:7: note: ')' token is here
                    SvIV_set(sv, value == (UV)IV_MIN
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2311:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvNV_set(sv, -(NV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2311:7: note: '{' token is here
                    SvNV_set(sv, -(NV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2311:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvNV_set(sv, -(NV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2311:7: note: ')' token is here
                    SvNV_set(sv, -(NV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2312:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, IV_MIN);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2312:7: note: '{' token is here
                    SvIV_set(sv, IV_MIN);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2312:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, IV_MIN);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2312:7: note: ')' token is here
                    SvIV_set(sv, IV_MIN);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2380:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, I_V(SvNVX(sv)));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2380:21: note: '{' token is here
                    SvIV_set(sv, I_V(SvNVX(sv)));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2380:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, I_V(SvNVX(sv)));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2380:21: note: ')' token is here
                    SvIV_set(sv, I_V(SvNVX(sv)));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2696:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, SvIsUV(sv) ? (NV)SvUVX(sv) : (NV)SvIVX(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2696:2: note: '{' token is here
        SvNV_set(sv, SvIsUV(sv) ? (NV)SvUVX(sv) : (NV)SvIVX(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2696:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, SvIsUV(sv) ? (NV)SvUVX(sv) : (NV)SvIVX(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2696:2: note: ')' token is here
        SvNV_set(sv, SvIsUV(sv) ? (NV)SvUVX(sv) : (NV)SvIVX(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2731:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2731:2: note: '{' token is here
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:2731:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:2731:2: note: ')' token is here
        SvNV_set(sv, Atof(SvPVX_const(sv)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2759:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, -(IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2759:21: note: '{' token is here
                    SvIV_set(sv, -(IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2759:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, -(IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2759:21: note: ')' token is here
                    SvIV_set(sv, -(IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2761:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2761:7: note: '{' token is here
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:2761:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:2761:7: note: ')' token is here
                    SvIV_set(sv, (IV)value);
                    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:2763:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:2763:7: note: '{' token is here
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:2763:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:2763:7: note: ')' token is here
                    SvUV_set(sv, value);
                    ^~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3210:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STORE_LC_NUMERIC_SET_TO_NEEDED();
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3210:21: note: '{' token is here
                    STORE_LC_NUMERIC_SET_TO_NEEDED();
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:3210:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    STORE_LC_NUMERIC_SET_TO_NEEDED();
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
sv.c:3210:21: note: ')' token is here
                    STORE_LC_NUMERIC_SET_TO_NEEDED();
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3218:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SNPRINTF_G(SvNVX(sv), s, SvLEN(sv), NV_DIG);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3218:21: note: '{' token is here
                    SNPRINTF_G(SvNVX(sv), s, SvLEN(sv), NV_DIG);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
sv.c:3218:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SNPRINTF_G(SvNVX(sv), s, SvLEN(sv), NV_DIG);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
sv.c:3218:21: note: ')' token is here
                    SNPRINTF_G(SvNVX(sv), s, SvLEN(sv), NV_DIG);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3229:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RESTORE_LC_NUMERIC();
                    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3229:21: note: '{' token is here
                    RESTORE_LC_NUMERIC();
                    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
sv.c:3229:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    RESTORE_LC_NUMERIC();
                    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
sv.c:3229:21: note: ')' token is here
                    RESTORE_LC_NUMERIC();
                    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3274:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3274:2: note: '{' token is here
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:3274:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:3274:2: note: ')' token is here
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3614:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, invariant_length + remaining_length_p1 + expansion);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3614:13: note: '{' token is here
            SvCUR_set(sv, invariant_length + remaining_length_p1 + expansion);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:3614:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, invariant_length + remaining_length_p1 + expansion);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:3614:13: note: ')' token is here
            SvCUR_set(sv, invariant_length + remaining_length_p1 + expansion);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3722:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3722:6: note: '{' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:3722:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:3722:6: note: ')' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3860:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3860:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:3860:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3860:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:3860:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:3860:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3860:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3860:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:3860:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:3860:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3860:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:3860:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3861:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3861:3: note: '{' token is here
                SvPV_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:3861:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:3861:3: note: ')' token is here
                SvPV_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3862:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3862:3: note: '{' token is here
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:3862:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:3862:3: note: ')' token is here
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3863:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3863:3: note: '{' token is here
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:3863:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:3863:3: note: ')' token is here
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3867:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            isGV_with_GP_on(dstr);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2218:29: note: expanded from macro 'isGV_with_GP_on'
#define isGV_with_GP_on(sv)     STMT_START {                           \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3867:6: note: '{' token is here
            isGV_with_GP_on(dstr);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2218:40: note: expanded from macro 'isGV_with_GP_on'
#define isGV_with_GP_on(sv)     STMT_START {                           \
                                           ^
sv.c:3867:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            isGV_with_GP_on(dstr);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2223:5: note: expanded from macro 'isGV_with_GP_on'
    } STMT_END
    ^
sv.c:3867:6: note: ')' token is here
            isGV_with_GP_on(dstr);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2223:7: note: expanded from macro 'isGV_with_GP_on'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3940:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3940:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:3940:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:3940:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:3940:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:3940:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:3940:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:3940:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4194:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4194:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:4194:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4194:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:4194:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:4194:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4194:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:4194:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4265:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_NULL == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4265:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVt_NULL == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:4265:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_NULL == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:4265:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVt_NULL == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4266:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_IV   == 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4266:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVt_IV   == 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:4266:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_IV   == 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:4266:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVt_IV   == 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4351:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STATIC_ASSERT_STMT(SVt_NULL == 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4351:3: note: '{' token is here
                STATIC_ASSERT_STMT(SVt_NULL == 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:4351:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STATIC_ASSERT_STMT(SVt_NULL == 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:4351:3: note: ')' token is here
                STATIC_ASSERT_STMT(SVt_NULL == 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4364:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr,  SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4364:6: note: '{' token is here
            SvIV_set(dstr,  SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:4364:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr,  SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:4364:6: note: ')' token is here
            SvIV_set(dstr,  SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4395:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4395:6: note: '{' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:4395:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:4395:6: note: ')' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4473:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4473:13: note: '{' token is here
            SvCUR_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4473:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4473:13: note: ')' token is here
            SvCUR_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4513:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4513:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:4513:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4513:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:4513:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:4513:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4513:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4513:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4513:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4513:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4513:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:4513:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4514:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4514:3: note: '{' token is here
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:4514:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:4514:3: note: ')' token is here
                SvLEN_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4515:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4515:17: note: '{' token is here
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4515:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4515:17: note: ')' token is here
                SvCUR_set(dstr, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4519:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(dstr, SvREFCNT_inc(SvRV(sstr)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4519:2: note: '{' token is here
        SvRV_set(dstr, SvREFCNT_inc(SvRV(sstr)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:4519:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(dstr, SvREFCNT_inc(SvRV(sstr)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:4519:2: note: ')' token is here
        SvRV_set(dstr, SvREFCNT_inc(SvRV(sstr)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4651:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4651:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:4651:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4651:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:4651:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:4651:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4651:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4651:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4651:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4651:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4651:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:4651:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4652:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, SvPVX_mutable(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4652:6: note: '{' token is here
            SvPV_set(dstr, SvPVX_mutable(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4652:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, SvPVX_mutable(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4652:6: note: ')' token is here
            SvPV_set(dstr, SvPVX_mutable(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4653:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(dstr, SvLEN(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4653:6: note: '{' token is here
            SvLEN_set(dstr, SvLEN(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:4653:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(dstr, SvLEN(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:4653:6: note: ')' token is here
            SvLEN_set(dstr, SvLEN(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4654:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, SvCUR(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4654:6: note: '{' token is here
            SvCUR_set(dstr, SvCUR(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4654:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, SvCUR(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4654:6: note: ')' token is here
            SvCUR_set(dstr, SvCUR(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4658:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4658:6: note: '{' token is here
            SvPV_set(sstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4658:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4658:6: note: ')' token is here
            SvPV_set(sstr, NULL);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4659:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4659:6: note: '{' token is here
            SvLEN_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:4659:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:4659:6: note: ')' token is here
            SvLEN_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4660:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4660:6: note: '{' token is here
            SvCUR_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4660:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4660:6: note: ')' token is here
            SvCUR_set(sstr, 0);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4698:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4698:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:4698:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4698:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:4698:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:4698:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4698:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4698:3: note: '{' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4698:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4698:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4698:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:4698:3: note: ')' token is here
                SvPV_free(dstr);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4707:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_set(dstr, SvPVX_mutable(sstr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4707:21: note: '{' token is here
                    SvPV_set(dstr, SvPVX_mutable(sstr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4707:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_set(dstr, SvPVX_mutable(sstr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4707:21: note: ')' token is here
                    SvPV_set(dstr, SvPVX_mutable(sstr));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4717:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_set(dstr,
                    ^~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4717:21: note: '{' token is here
                    SvPV_set(dstr,
                    ^~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4717:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_set(dstr,
                    ^~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4717:21: note: ')' token is here
                    SvPV_set(dstr,
                    ^~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4720:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4720:6: note: '{' token is here
            SvLEN_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:4720:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:4720:6: note: ')' token is here
            SvLEN_set(dstr, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4721:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4721:6: note: '{' token is here
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4721:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4721:6: note: ')' token is here
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4728:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4728:6: note: '{' token is here
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4728:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4728:6: note: ')' token is here
            SvCUR_set(dstr, cur);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4732:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4732:6: note: '{' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:4732:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:4732:6: note: ')' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4735:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4735:6: note: '{' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:4735:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:4735:6: note: ')' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4754:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4754:6: note: '{' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:4754:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:4754:6: note: ')' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4757:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4757:6: note: '{' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:4757:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:4757:6: note: ')' token is here
            SvNV_set(dstr, SvNVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4768:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4768:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:4768:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4768:2: note: '{' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:4768:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:4768:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4768:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:4768:2: note: ')' token is here
        SvTAINT(dstr);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4848:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dstr);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4848:5: note: '{' token is here
    SvSETMAGIC(dstr);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:4848:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dstr);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:4848:5: note: ')' token is here
    SvSETMAGIC(dstr);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4880:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4880:2: note: '{' token is here
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:4880:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4880:2: note: '{' token is here
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:4880:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:4880:2: note: ')' token is here
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4880:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:4880:2: note: ')' token is here
        new_SV(dstr);
        ^~~~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4913:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(dstr, new_pv);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4913:5: note: '{' token is here
    SvPV_set(dstr, new_pv);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:4913:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(dstr, new_pv);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:4913:5: note: ')' token is here
    SvPV_set(dstr, new_pv);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4917:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(dstr, len);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4917:5: note: '{' token is here
    SvLEN_set(dstr, len);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:4917:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(dstr, len);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:4917:5: note: ')' token is here
    SvLEN_set(dstr, len);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4918:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(dstr, cur);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4918:5: note: '{' token is here
    SvCUR_set(dstr, cur);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4918:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(dstr, cur);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4918:5: note: ')' token is here
    SvCUR_set(dstr, cur);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4947:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, cur);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4947:5: note: '{' token is here
    SvCUR_set(sv, cur);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4947:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, cur);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4947:5: note: ')' token is here
    SvCUR_set(sv, cur);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4951:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4951:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:4951:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4951:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:4951:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:4951:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4951:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:4951:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4996:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4996:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:4996:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:4996:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4998:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4998:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:4998:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:4998:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:4998:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:4998:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:4998:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:4998:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5016:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5016:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5016:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5016:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5046:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5046:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5046:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5046:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5048:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5048:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:5048:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5048:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:5048:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:5048:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5048:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:5048:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5066:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5066:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5066:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5066:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5099:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5099:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:5099:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5099:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:5099:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:5099:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5099:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5099:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5099:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5099:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5099:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:5099:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5100:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5100:6: note: '{' token is here
            SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5100:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5100:6: note: ')' token is here
            SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5101:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5101:6: note: '{' token is here
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5101:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5101:6: note: ')' token is here
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5102:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5102:6: note: '{' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:5102:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:5102:6: note: ')' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5154:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5154:6: note: '{' token is here
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5154:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5154:6: note: ')' token is here
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5158:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5158:2: note: '{' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:5158:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5158:2: note: '{' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:5158:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:5158:2: note: ')' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5158:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5158:2: note: '{' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5158:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5158:2: note: ')' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5158:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:5158:2: note: ')' token is here
        SvPV_free(sv);
        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5190:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, allocate);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5190:5: note: '{' token is here
    SvLEN_set(sv, allocate);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:5190:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, allocate);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:5190:5: note: ')' token is here
    SvLEN_set(sv, allocate);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5192:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5192:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5192:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5192:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5193:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, ptr);
    ^~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5193:5: note: '{' token is here
    SvPV_set(sv, ptr);
    ^~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5193:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, ptr);
    ^~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5193:5: note: ')' token is here
    SvPV_set(sv, ptr);
    ^~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5198:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5198:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:5198:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5198:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:5198:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:5198:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5198:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:5198:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5200:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5200:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5200:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5200:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5245:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5245:13: note: '{' token is here
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5245:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5245:13: note: ')' token is here
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5246:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5246:13: note: '{' token is here
            SvCUR_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5246:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5246:13: note: ')' token is here
            SvCUR_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5247:13: note: '{' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:5247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:5247:13: note: ')' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5254:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, cur);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5254:17: note: '{' token is here
                SvCUR_set(sv, cur);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5254:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, cur);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5254:17: note: ')' token is here
                SvCUR_set(sv, cur);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5333:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(temp, SvMAGIC(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5333:6: note: '{' token is here
            SvMAGIC_set(temp, SvMAGIC(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:5333:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(temp, SvMAGIC(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:5333:6: note: ')' token is here
            SvMAGIC_set(temp, SvMAGIC(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5334:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5334:6: note: '{' token is here
            SvMAGIC_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:5334:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvMAGIC_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:5334:6: note: ')' token is here
            SvMAGIC_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5335:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(temp, SvSTASH(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5335:6: note: '{' token is here
            SvSTASH_set(temp, SvSTASH(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:5335:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(temp, SvSTASH(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:5335:6: note: ')' token is here
            SvSTASH_set(temp, SvSTASH(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5336:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5336:6: note: '{' token is here
            SvSTASH_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:5336:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSTASH_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:5336:6: note: ')' token is here
            SvSTASH_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5339:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(temp, SvCUR(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5339:13: note: '{' token is here
            SvCUR_set(temp, SvCUR(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5339:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(temp, SvCUR(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5339:13: note: ')' token is here
            SvCUR_set(temp, SvCUR(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5363:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5363:6: note: '{' token is here
            SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:5363:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:5363:6: note: ')' token is here
            SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5444:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvOOK_offset(sv, old_delta);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5444:2: note: '{' token is here
        SvOOK_offset(sv, old_delta);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:5444:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvOOK_offset(sv, old_delta);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:5444:2: note: ')' token is here
        SvOOK_offset(sv, old_delta);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5446:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, SvLEN(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5446:5: note: '{' token is here
    SvLEN_set(sv, SvLEN(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:5446:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, SvLEN(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:5446:5: note: ')' token is here
    SvLEN_set(sv, SvLEN(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5447:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5447:5: note: '{' token is here
    SvCUR_set(sv, SvCUR(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5447:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5447:5: note: ')' token is here
    SvCUR_set(sv, SvCUR(sv) - delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5448:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, SvPVX(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5448:5: note: '{' token is here
    SvPV_set(sv, SvPVX(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:5448:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, SvPVX(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:5448:5: note: ')' token is here
    SvPV_set(sv, SvPVX(sv) + delta);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5538:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SvCUR_set(dsv, SvCUR(dsv) + slen);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5538:7: note: '{' token is here
      SvCUR_set(dsv, SvCUR(dsv) + slen);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5538:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SvCUR_set(dsv, SvCUR(dsv) + slen);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5538:7: note: ')' token is here
      SvCUR_set(dsv, SvCUR(dsv) + slen);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5557:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dsv, d-(const U8 *)SvPVX(dsv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5557:2: note: '{' token is here
        SvCUR_set(dsv, d-(const U8 *)SvPVX(dsv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5557:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dsv, d-(const U8 *)SvPVX(dsv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5557:2: note: ')' token is here
        SvCUR_set(dsv, d-(const U8 *)SvPVX(dsv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5561:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5561:5: note: '{' token is here
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:5561:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5561:5: note: '{' token is here
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:5561:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:5561:5: note: ')' token is here
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5561:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:5561:5: note: ')' token is here
    SvTAINT(dsv);
    ^~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5563:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(dsv);
        ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5563:2: note: '{' token is here
        SvSETMAGIC(dsv);
        ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5563:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(dsv);
        ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5563:2: note: ')' token is here
        SvSETMAGIC(dsv);
        ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5598:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(dsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5598:17: note: '{' token is here
                SvSETMAGIC(dsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5598:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(dsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5598:17: note: ')' token is here
                SvSETMAGIC(dsv);
                ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5630:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) + len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5630:5: note: '{' token is here
    SvCUR_set(sv, SvCUR(sv) + len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:5630:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) + len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:5630:5: note: ')' token is here
    SvCUR_set(sv, SvCUR(sv) + len);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5632:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5632:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:5632:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5632:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:5632:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:5632:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5632:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:5632:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5668:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5668:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:5668:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:5668:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5693:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5693:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:5693:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5693:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:5693:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:5693:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5693:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:5693:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:5729:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvMAGIC_set(sv, mg);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:5729:5: note: '{' token is here
    SvMAGIC_set(sv, mg);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:5729:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvMAGIC_set(sv, mg);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:5729:5: note: ')' token is here
    SvMAGIC_set(sv, mg);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6319:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(referrer, 0);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6319:7: note: '{' token is here
                    SvRV_set(referrer, 0);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:6319:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(referrer, 0);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:6319:7: note: ')' token is here
                    SvRV_set(referrer, 0);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6322:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(referrer);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6322:7: note: '{' token is here
                    SvSETMAGIC(referrer);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:6322:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(referrer);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:6322:7: note: ')' token is here
                    SvSETMAGIC(referrer);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6409:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, offset+len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6409:2: note: '{' token is here
        SvCUR_set(bigstr, offset+len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:6409:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, offset+len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:6409:2: note: ')' token is here
        SvCUR_set(bigstr, offset+len);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6412:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6412:5: note: '{' token is here
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:6412:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6412:5: note: '{' token is here
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:6412:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:6412:5: note: ')' token is here
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6412:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:6412:5: note: ')' token is here
    SvTAINT(bigstr);
    ^~~~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6423:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, SvCUR(bigstr) + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6423:2: note: '{' token is here
        SvCUR_set(bigstr, SvCUR(bigstr) + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:6423:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, SvCUR(bigstr) + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:6423:2: note: ')' token is here
        SvCUR_set(bigstr, SvCUR(bigstr) + i);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6424:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6424:2: note: '{' token is here
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:6424:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:6424:2: note: ')' token is here
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6429:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6429:2: note: '{' token is here
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:6429:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:6429:2: note: ')' token is here
        SvSETMAGIC(bigstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6453:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, mid - big);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6453:2: note: '{' token is here
        SvCUR_set(bigstr, mid - big);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:6453:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bigstr, mid - big);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:6453:2: note: ')' token is here
        SvCUR_set(bigstr, mid - big);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6471:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(bigstr);
    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6471:5: note: '{' token is here
    SvSETMAGIC(bigstr);
    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:6471:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(bigstr);
    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:6471:5: note: ')' token is here
    SvSETMAGIC(bigstr);
    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6504:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(nsv, SvMAGIC(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6504:2: note: '{' token is here
        SvMAGIC_set(nsv, SvMAGIC(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:6504:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(nsv, SvMAGIC(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:6504:2: note: ')' token is here
        SvMAGIC_set(nsv, SvMAGIC(sv));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6507:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(sv, NULL);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6507:2: note: '{' token is here
        SvMAGIC_set(sv, NULL);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:6507:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvMAGIC_set(sv, NULL);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:6507:2: note: ')' token is here
        SvMAGIC_set(sv, NULL);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6528:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    del_SV(nsv);
    ^~~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:5: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6528:5: note: '{' token is here
    del_SV(nsv);
    ^~~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:16: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
               ^
sv.c:6528:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    del_SV(nsv);
    ^~~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:5: note: expanded from macro 'plant_SV'
    } STMT_END
    ^
sv.c:6528:5: note: ')' token is here
    del_SV(nsv);
    ^~~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:7: note: expanded from macro 'plant_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6752:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set((sv), len);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6752:17: note: '{' token is here
                SvLEN_set((sv), len);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:6752:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set((sv), len);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:6752:17: note: ')' token is here
                SvLEN_set((sv), len);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6791:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6791:3: note: '{' token is here
                SvOOK_offset(sv, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:6791:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvOOK_offset(sv, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:6791:3: note: ')' token is here
                SvOOK_offset(sv, offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6792:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(sv, SvPVX_mutable(sv) - offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6792:3: note: '{' token is here
                SvPV_set(sv, SvPVX_mutable(sv) - offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:6792:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(sv, SvPVX_mutable(sv) - offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:6792:3: note: ')' token is here
                SvPV_set(sv, SvPVX_mutable(sv) - offset);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6822:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvLEN_set(sv, 0);
                            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6822:8: note: '{' token is here
                            SvLEN_set(sv, 0);
                            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:6822:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvLEN_set(sv, 0);
                            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:6822:8: note: ')' token is here
                            SvLEN_set(sv, 0);
                            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6854:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_body(((char *)SvANY(sv) + sv_type_details->offset),
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:5: note: expanded from macro 'del_body'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6854:6: note: '{' token is here
            del_body(((char *)SvANY(sv) + sv_type_details->offset),
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:16: note: expanded from macro 'del_body'
    STMT_START {                                        \
               ^
sv.c:6854:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_body(((char *)SvANY(sv) + sv_type_details->offset),
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:5: note: expanded from macro 'del_body'
    } STMT_END
    ^
sv.c:6854:6: note: ')' token is here
            del_body(((char *)SvANY(sv) + sv_type_details->offset),
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:7: note: expanded from macro 'del_body'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:6864:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:5: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:6864:6: note: '{' token is here
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:16: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
               ^
sv.c:6864:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:5: note: expanded from macro 'plant_SV'
    } STMT_END
    ^
sv.c:6864:6: note: ')' token is here
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:7: note: expanded from macro 'plant_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7026:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7026:3: note: '{' token is here
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
sv.c:7026:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7026:3: note: '{' token is here
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
sv.c:7026:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
sv.c:7026:3: note: ')' token is here
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7026:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
sv.c:7026:3: note: ')' token is here
                PUSHSTACKi(PERLSI_DESTROY);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7027:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, 2);
                ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7027:3: note: '{' token is here
                EXTEND(SP, 2);
                ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
sv.c:7027:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, 2);
                ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
sv.c:7027:3: note: ')' token is here
                EXTEND(SP, 2);
                ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7028:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7028:3: note: '{' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
sv.c:7028:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
sv.c:7028:3: note: ')' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7033:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                POPSTACK;
                ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7033:3: note: '{' token is here
                POPSTACK;
                ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
sv.c:7033:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                POPSTACK;
                ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7033:3: note: '{' token is here
                POPSTACK;
                ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
sv.c:7033:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                POPSTACK;
                ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
sv.c:7033:3: note: ')' token is here
                POPSTACK;
                ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7033:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                POPSTACK;
                ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
sv.c:7033:3: note: ')' token is here
                POPSTACK;
                ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7039:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(tmpref, NULL);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7039:7: note: '{' token is here
                    SvRV_set(tmpref, NULL);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:7039:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(tmpref, NULL);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:7039:7: note: ')' token is here
                    SvRV_set(tmpref, NULL);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7063:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSTASH_set(sv,0);      /* SvREFCNT_dec may try to read this */
        ^~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7063:2: note: '{' token is here
        SvSTASH_set(sv,0);      /* SvREFCNT_dec may try to read this */
        ^~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:7063:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSTASH_set(sv,0);      /* SvREFCNT_dec may try to read this */
        ^~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:7063:2: note: ')' token is here
        SvSTASH_set(sv,0);      /* SvREFCNT_dec may try to read this */
        ^~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:7134:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:5: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:7134:13: note: '{' token is here
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:279:16: note: expanded from macro 'plant_SV'
    STMT_START {                                        \
               ^
sv.c:7134:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:5: note: expanded from macro 'plant_SV'
    } STMT_END
    ^
sv.c:7134:13: note: ')' token is here
            del_SV(sv);
            ^~~~~~~~~~
sv.c:406:21: note: expanded from macro 'del_SV'
#define del_SV(p)   plant_SV(p)
                    ^~~~~~~~~~~
sv.c:291:7: note: expanded from macro 'plant_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8345:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv,append);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8345:5: note: '{' token is here
    SvCUR_set(sv,append);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8345:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv,append);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8345:5: note: ')' token is here
    SvCUR_set(sv,append);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8462:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, bytesread + append);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8462:5: note: '{' token is here
    SvCUR_set(sv, bytesread + append);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8462:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, bytesread + append);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8462:5: note: ')' token is here
    SvCUR_set(sv, bytesread + append);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8517:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv,0);
        ^~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8517:9: note: '{' token is here
        SvCUR_set(sv,0);
        ^~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8517:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv,0);
        ^~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8517:9: note: ')' token is here
        SvCUR_set(sv,0);
        ^~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8768:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, bpx);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8768:6: note: '{' token is here
            SvCUR_set(sv, bpx);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8768:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, bpx);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8768:6: note: ')' token is here
            SvCUR_set(sv, bpx);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8819:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, bpx);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8819:2: note: '{' token is here
        SvCUR_set(sv, bpx);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8819:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, bpx);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8819:2: note: ')' token is here
        SvCUR_set(sv, bpx);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8849:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, bp - (STDCHAR*)SvPVX_const(sv));      /* set length */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8849:5: note: '{' token is here
    SvCUR_set(sv, bp - (STDCHAR*)SvPVX_const(sv));      /* set length */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:8849:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, bp - (STDCHAR*)SvPVX_const(sv));      /* set length */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:8849:5: note: ')' token is here
    SvCUR_set(sv, bp - (STDCHAR*)SvPVX_const(sv));      /* set length */
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:8996:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvUV_set(sv, SvUVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:8996:3: note: '{' token is here
                SvUV_set(sv, SvUVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:8996:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvUV_set(sv, SvUVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:8996:3: note: ')' token is here
                SvUV_set(sv, SvUVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9002:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, SvIVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9002:3: note: '{' token is here
                SvIV_set(sv, SvIVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9002:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, SvIVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9002:3: note: ')' token is here
                SvIV_set(sv, SvIVX(sv) + 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9018:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, was + 1.0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9018:9: note: '{' token is here
        SvNV_set(sv, was + 1.0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:9018:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(sv, was + 1.0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:9018:9: note: ')' token is here
        SvNV_set(sv, was + 1.0);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9030:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, 1);
        ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9030:2: note: '{' token is here
        SvIV_set(sv, 1);
        ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9030:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, 1);
        ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9030:2: note: ')' token is here
        SvIV_set(sv, 1);
        ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9057:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(sv, SvNVX(sv) + 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9057:17: note: '{' token is here
                SvNV_set(sv, SvNVX(sv) + 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:9057:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(sv, SvNVX(sv) + 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:9057:17: note: ')' token is here
                SvNV_set(sv, SvNVX(sv) + 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9102:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) + 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9102:5: note: '{' token is here
    SvCUR_set(sv, SvCUR(sv) + 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:9102:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, SvCUR(sv) + 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:9102:5: note: ')' token is here
    SvCUR_set(sv, SvCUR(sv) + 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9170:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, -1);
                ^~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9170:3: note: '{' token is here
                SvIV_set(sv, -1);
                ^~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9170:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, -1);
                ^~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9170:3: note: ')' token is here
                SvIV_set(sv, -1);
                ^~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9174:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvUV_set(sv, SvUVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9174:3: note: '{' token is here
                SvUV_set(sv, SvUVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:9174:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvUV_set(sv, SvUVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:9174:3: note: ')' token is here
                SvUV_set(sv, SvUVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9183:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, SvIVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9183:3: note: '{' token is here
                SvIV_set(sv, SvIVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9183:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, SvIVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9183:3: note: ')' token is here
                SvIV_set(sv, SvIVX(sv) - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9201:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(sv, was - 1.0);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9201:6: note: '{' token is here
            SvNV_set(sv, was - 1.0);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:9201:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvNV_set(sv, was - 1.0);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:9201:6: note: ')' token is here
            SvNV_set(sv, was - 1.0);
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9213:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, -1);
        ^~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9213:2: note: '{' token is here
        SvIV_set(sv, -1);
        ^~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9213:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv, -1);
        ^~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9213:2: note: ')' token is here
        SvIV_set(sv, -1);
        ^~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9235:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(sv, SvNVX(sv) - 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9235:17: note: '{' token is here
                SvNV_set(sv, SvNVX(sv) - 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:9235:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvNV_set(sv, SvNVX(sv) - 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:9235:17: note: ')' token is here
                SvNV_set(sv, SvNVX(sv) - 1.0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9289:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9289:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9289:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9289:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9289:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9289:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9289:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9289:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9291:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9291:5: note: '{' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:16: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
               ^
sv.c:9291:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
    ^
sv.c:9291:5: note: ')' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:7: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9312:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9312:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9312:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9312:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9312:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9312:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9312:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9312:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9314:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9314:5: note: '{' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:16: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
               ^
sv.c:9314:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
    ^
sv.c:9314:5: note: ')' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:7: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9351:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9351:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9351:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9351:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9351:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9351:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9351:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9351:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9365:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSH_EXTEND_MORTAL__SV_C(sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9365:2: note: '{' token is here
        PUSH_EXTEND_MORTAL__SV_C(sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:16: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
               ^
sv.c:9365:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSH_EXTEND_MORTAL__SV_C(sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
    ^
sv.c:9365:2: note: ')' token is here
        PUSH_EXTEND_MORTAL__SV_C(sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:7: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9391:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9391:5: note: '{' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9254:16: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    STMT_START {      \
               ^
sv.c:9391:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:5: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
    ^
sv.c:9391:5: note: ')' token is here
    PUSH_EXTEND_MORTAL__SV_C(sv);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:9259:7: note: expanded from macro 'PUSH_EXTEND_MORTAL__SV_C'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9422:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9422:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9422:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9422:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9422:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9422:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9422:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9422:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9444:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9444:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9444:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9444:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9444:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9444:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9444:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9444:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9465:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(sv);
        ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9465:2: note: '{' token is here
        new_SV(sv);
        ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9465:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(sv);
        ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9465:2: note: '{' token is here
        new_SV(sv);
        ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9465:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(sv);
        ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9465:2: note: ')' token is here
        new_SV(sv);
        ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9465:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        new_SV(sv);
        ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9465:2: note: ')' token is here
        new_SV(sv);
        ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9500:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_SV(sv);
            ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9500:6: note: '{' token is here
            new_SV(sv);
            ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9500:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_SV(sv);
            ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9500:6: note: '{' token is here
            new_SV(sv);
            ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9500:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_SV(sv);
            ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9500:6: note: ')' token is here
            new_SV(sv);
            ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9500:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            new_SV(sv);
            ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9500:6: note: ')' token is here
            new_SV(sv);
            ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9502:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9502:6: note: '{' token is here
            SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:9502:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:9502:6: note: ')' token is here
            SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9503:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9503:6: note: '{' token is here
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:9503:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:9503:6: note: ')' token is here
            SvCUR_set(sv, HEK_LEN(hek));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9504:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9504:6: note: '{' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:9504:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:9504:6: note: ')' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9547:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9547:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9547:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9547:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9547:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9547:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9547:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9547:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9551:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9551:5: note: '{' token is here
    SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:9551:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:9551:5: note: ')' token is here
    SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9552:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:9552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:9552:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9553:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9553:5: note: '{' token is here
    SvLEN_set(sv, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:9553:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:9553:5: note: ')' token is here
    SvLEN_set(sv, 0);
    ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9633:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9633:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9633:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9633:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9633:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9633:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9633:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9633:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9652:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9652:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9652:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9652:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9652:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9652:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9652:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9652:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9671:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9671:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9671:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9671:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9671:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9671:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9671:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9671:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9679:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9679:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:9679:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:9679:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9685:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9685:5: note: '{' token is here
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9685:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9685:5: note: ')' token is here
    SvIV_set(sv, i);
    ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9686:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9686:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:9686:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9686:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:9686:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:9686:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9686:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:9686:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9713:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9713:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9713:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9713:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9713:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9713:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9713:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9713:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9718:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9718:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:9718:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:9718:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9725:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1320:2: note: expanded from macro 'SvUV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9725:5: note: '{' token is here
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1320:13: note: expanded from macro 'SvUV_set'
        STMT_START { \
                   ^
sv.c:9725:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1323:42: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                       ^
sv.c:9725:5: note: ')' token is here
    SvUV_set(sv, u);
    ^~~~~~~~~~~~~~~
./sv.h:1323:44: note: expanded from macro 'SvUV_set'
                (((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9726:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9726:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:9726:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9726:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:9726:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:9726:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9726:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:9726:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9745:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9745:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9745:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9745:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9745:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9745:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9745:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9745:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9768:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9768:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9768:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9768:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9768:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9768:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9768:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9768:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9773:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9773:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
sv.c:9773:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
sv.c:9773:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVt_FIRST == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9778:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, 0);
    ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9778:5: note: '{' token is here
    SvIV_set(sv, 0);
    ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:9778:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(sv, 0);
    ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:9778:5: note: ')' token is here
    SvIV_set(sv, 0);
    ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9781:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(sv, tmpRef);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9781:5: note: '{' token is here
    SvRV_set(sv, tmpRef);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:9781:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(sv, tmpRef);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:9781:5: note: ')' token is here
    SvRV_set(sv, tmpRef);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9825:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9825:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:9825:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:9825:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:9825:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:9825:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:9825:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:9825:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10152:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10152:6: note: '{' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:10152:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:10152:6: note: ')' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10157:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10157:6: note: '{' token is here
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:10157:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10157:6: note: '{' token is here
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:10157:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:10157:6: note: ')' token is here
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10157:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:10157:6: note: ')' token is here
            SvTAINT(sv);
            ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10380:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10380:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:10380:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10380:5: note: '{' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:10380:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:10380:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10380:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:10380:5: note: ')' token is here
    new_SV(sv);
    ^~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10395:2: note: '{' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
sv.c:10395:2: note: ')' token is here
        prepare_SV_for_RV(rv);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10399:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10399:5: note: '{' token is here
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:10399:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:10399:5: note: ')' token is here
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10447:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(rv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10447:2: note: '{' token is here
        SvSETMAGIC(rv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:10447:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(rv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:10447:2: note: ')' token is here
        SvSETMAGIC(rv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10573:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSTASH_set(tmpRef, MUTABLE_HV(SvREFCNT_inc_simple(stash)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10573:5: note: '{' token is here
    SvSTASH_set(tmpRef, MUTABLE_HV(SvREFCNT_inc_simple(stash)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:10573:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSTASH_set(tmpRef, MUTABLE_HV(SvREFCNT_inc_simple(stash)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:10573:5: note: ')' token is here
    SvSTASH_set(tmpRef, MUTABLE_HV(SvREFCNT_inc_simple(stash)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10618:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    isGV_with_GP_off(sv);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2224:30: note: expanded from macro 'isGV_with_GP_off'
#define isGV_with_GP_off(sv)    STMT_START {                           \
                                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10618:5: note: '{' token is here
    isGV_with_GP_off(sv);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2224:41: note: expanded from macro 'isGV_with_GP_off'
#define isGV_with_GP_off(sv)    STMT_START {                           \
                                           ^
sv.c:10618:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    isGV_with_GP_off(sv);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2229:5: note: expanded from macro 'isGV_with_GP_off'
    } STMT_END
    ^
sv.c:10618:5: note: ')' token is here
    isGV_with_GP_off(sv);
    ^~~~~~~~~~~~~~~~~~~~
./sv.h:2229:7: note: expanded from macro 'isGV_with_GP_off'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10624:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_XPVGV(SvANY(sv));
        ^~~~~~~~~~~~~~~~~~~~
sv.c:1065:22: note: expanded from macro 'del_XPVGV'
#define del_XPVGV(p)    del_body(p + bodies_by_type[SVt_PVGV].offset,   \
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:5: note: expanded from macro 'del_body'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10624:2: note: '{' token is here
        del_XPVGV(SvANY(sv));
        ^~~~~~~~~~~~~~~~~~~~
sv.c:1065:22: note: expanded from macro 'del_XPVGV'
#define del_XPVGV(p)    del_body(p + bodies_by_type[SVt_PVGV].offset,   \
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1042:16: note: expanded from macro 'del_body'
    STMT_START {                                        \
               ^
sv.c:10624:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        del_XPVGV(SvANY(sv));
        ^~~~~~~~~~~~~~~~~~~~
sv.c:1065:22: note: expanded from macro 'del_XPVGV'
#define del_XPVGV(p)    del_body(p + bodies_by_type[SVt_PVGV].offset,   \
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:5: note: expanded from macro 'del_body'
    } STMT_END
    ^
sv.c:10624:2: note: ')' token is here
        del_XPVGV(SvANY(sv));
        ^~~~~~~~~~~~~~~~~~~~
sv.c:1065:22: note: expanded from macro 'del_XPVGV'
#define del_XPVGV(p)    del_body(p + bodies_by_type[SVt_PVGV].offset,   \
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1046:7: note: expanded from macro 'del_body'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10668:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(ref, NULL);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10668:2: note: '{' token is here
        SvRV_set(ref, NULL);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:10668:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(ref, NULL);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:10668:2: note: ')' token is here
        SvRV_set(ref, NULL);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10671:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(ref, NULL);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10671:5: note: '{' token is here
    SvRV_set(ref, NULL);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:10671:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(ref, NULL);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:10671:5: note: ')' token is here
    SvRV_set(ref, NULL);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10772:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10772:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:10772:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:10772:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10892:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10892:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:10892:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:10892:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10930:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10930:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:10930:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:10930:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:10999:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:10999:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:10999:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:10999:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11019:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11019:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
sv.c:11019:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
sv.c:11019:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11063:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, need - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11063:5: note: '{' token is here
    SvCUR_set(sv, need - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:11063:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, need - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:11063:5: note: ')' token is here
    SvCUR_set(sv, need - 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11182:27: warning: implicit conversion from 'UV' (aka 'unsigned long') to 'double' changes value from 18446744073709551615 to 18446744073709551616 [-Wimplicit-const-int-float-conversion]
    if (nv != 0.0 && nv < UV_MAX) {
                        ~ ^~~~~~
./perl.h:1918:20: note: expanded from macro 'UV_MAX'
#    define UV_MAX PERL_UQUAD_MAX
                   ^~~~~~~~~~~~~~
./perl.h:2604:29: note: expanded from macro 'PERL_UQUAD_MAX'
#    define PERL_UQUAD_MAX      (~(UV)0)
                                 ^~~~~~
sv.c:11464:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_IMPLICIT_BIT(nv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:11351:5: note: expanded from macro 'HEXTRACT_IMPLICIT_BIT'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11464:9: note: '{' token is here
        HEXTRACT_IMPLICIT_BIT(nv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:11351:16: note: expanded from macro 'HEXTRACT_IMPLICIT_BIT'
    STMT_START { \
               ^
sv.c:11464:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_IMPLICIT_BIT(nv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:11355:4: note: expanded from macro 'HEXTRACT_IMPLICIT_BIT'
   } STMT_END
   ^
sv.c:11464:9: note: ')' token is here
        HEXTRACT_IMPLICIT_BIT(nv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:11355:6: note: expanded from macro 'HEXTRACT_IMPLICIT_BIT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11465:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11337:5: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11465:9: note: '{' token is here
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11337:16: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
    STMT_START { \
               ^
sv.c:11465:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11338:46: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
      if (vend) HEXTRACT_OUTPUT_LO(ix); else HEXTRACT_COUNT(ix, 1); \
                                             ^~~~~~~~~~~~~~~~~~~~~
sv.c:11329:5: note: expanded from macro 'HEXTRACT_COUNT'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11465:9: note: '{' token is here
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11338:46: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
      if (vend) HEXTRACT_OUTPUT_LO(ix); else HEXTRACT_COUNT(ix, 1); \
                                             ^~~~~~~~~~~~~~~~~~~~~
sv.c:11329:16: note: expanded from macro 'HEXTRACT_COUNT'
    STMT_START { \
               ^
sv.c:11465:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11338:46: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
      if (vend) HEXTRACT_OUTPUT_LO(ix); else HEXTRACT_COUNT(ix, 1); \
                                             ^~~~~~~~~~~~~~~~~~~~~
sv.c:11331:4: note: expanded from macro 'HEXTRACT_COUNT'
   } STMT_END
   ^
sv.c:11465:9: note: ')' token is here
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11338:46: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
      if (vend) HEXTRACT_OUTPUT_LO(ix); else HEXTRACT_COUNT(ix, 1); \
                                             ^~~~~~~~~~~~~~~~~~~~~
sv.c:11331:6: note: expanded from macro 'HEXTRACT_COUNT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11465:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11339:4: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
   } STMT_END
   ^
sv.c:11465:9: note: ')' token is here
        HEXTRACT_TOP_NYBBLE(6);
        ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11344:33: note: expanded from macro 'HEXTRACT_TOP_NYBBLE'
#define HEXTRACT_TOP_NYBBLE(ix) HEXTRACT_LO_NYBBLE(ix)
                                ^~~~~~~~~~~~~~~~~~~~~~
sv.c:11339:6: note: expanded from macro 'HEXTRACT_LO_NYBBLE'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11466:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11333:5: note: expanded from macro 'HEXTRACT_BYTE'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11466:9: note: '{' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11333:16: note: expanded from macro 'HEXTRACT_BYTE'
    STMT_START { \
               ^
sv.c:11466:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:17: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                ^~~~~~~~~~~~~~~~~~~
sv.c:11325:5: note: expanded from macro 'HEXTRACT_OUTPUT'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11466:9: note: '{' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:17: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                ^~~~~~~~~~~~~~~~~~~
sv.c:11325:16: note: expanded from macro 'HEXTRACT_OUTPUT'
    STMT_START { \
               ^
sv.c:11466:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:17: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                ^~~~~~~~~~~~~~~~~~~
sv.c:11327:4: note: expanded from macro 'HEXTRACT_OUTPUT'
   } STMT_END
   ^
sv.c:11466:9: note: ')' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:17: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                ^~~~~~~~~~~~~~~~~~~
sv.c:11327:6: note: expanded from macro 'HEXTRACT_OUTPUT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11466:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:43: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                                          ^~~~~~~~~~~~~~~~~~~~~
sv.c:11329:5: note: expanded from macro 'HEXTRACT_COUNT'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11466:9: note: '{' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:43: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                                          ^~~~~~~~~~~~~~~~~~~~~
sv.c:11329:16: note: expanded from macro 'HEXTRACT_COUNT'
    STMT_START { \
               ^
sv.c:11466:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:43: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                                          ^~~~~~~~~~~~~~~~~~~~~
sv.c:11331:4: note: expanded from macro 'HEXTRACT_COUNT'
   } STMT_END
   ^
sv.c:11466:9: note: ')' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11334:43: note: expanded from macro 'HEXTRACT_BYTE'
      if (vend) HEXTRACT_OUTPUT(ix); else HEXTRACT_COUNT(ix, 2); \
                                          ^~~~~~~~~~~~~~~~~~~~~
sv.c:11331:6: note: expanded from macro 'HEXTRACT_COUNT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11466:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11335:4: note: expanded from macro 'HEXTRACT_BYTE'
   } STMT_END
   ^
sv.c:11466:9: note: ')' token is here
        HEXTRACT_BYTES_LE(5, 0);
        ^~~~~~~~~~~~~~~~~~~~~~~
sv.c:11346:35: note: expanded from macro 'HEXTRACT_BYTES_LE'
    for (ix = a; ix >= b; ix--) { HEXTRACT_BYTE(ix); }
                                  ^~~~~~~~~~~~~~~~~
sv.c:11335:6: note: expanded from macro 'HEXTRACT_BYTE'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11840:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11840:13: note: '{' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:20: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:11840:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11840:13: note: '{' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:11840:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
sv.c:11840:13: note: ')' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11840:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11840:13: note: '{' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
sv.c:11840:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
sv.c:11840:13: note: ')' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11840:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
        ^
sv.c:11840:13: note: ')' token is here
            WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:11: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:11870:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    elen += my_snprintf(p, bufsize - elen,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:11870:13: note: '{' token is here
    elen += my_snprintf(p, bufsize - elen,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
sv.c:11870:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    elen += my_snprintf(p, bufsize - elen,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
sv.c:11870:13: note: ')' token is here
    elen += my_snprintf(p, bufsize - elen,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:12085:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, need - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:12085:17: note: '{' token is here
                SvCUR_set(sv, need - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:12085:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, need - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:12085:17: note: ')' token is here
                SvCUR_set(sv, need - 1);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:12559:41: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
                 && strnEQ(q + 1, UTF8f + 2, sizeof(UTF8f) - 3))
                    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
./handy.h:545:37: note: expanded from macro 'strnEQ'
#define strnEQ(s1,s2,l) (strncmp(s1,s2,l) == 0)
                                    ^~
sv.c:12559:41: note: use array indexing to silence this warning
                 && strnEQ(q + 1, UTF8f + 2, sizeof(UTF8f) - 3))
                                        ^
                                  &     [
./handy.h:545:37: note: expanded from macro 'strnEQ'
#define strnEQ(s1,s2,l) (strncmp(s1,s2,l) == 0)
                                    ^
sv.c:13034:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13034:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:20: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13034:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13034:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13034:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
sv.c:13034:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13034:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13034:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
sv.c:13034:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
sv.c:13034:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13034:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
        ^
sv.c:13034:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(TRUE, {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:11: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13127:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13127:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:20: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13127:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13127:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13127:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
sv.c:13127:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13128:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13128:21: note: '{' token is here
                    SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13128:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13128:21: note: ')' token is here
                    SNPRINTF_G(fv, ebuf, sizeof(ebuf), precis)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:48:5: note: expanded from macro 'SNPRINTF_G'
    PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13127:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13127:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
sv.c:13127:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
sv.c:13127:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13127:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
        ^
sv.c:13127:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:11: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13238:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13238:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6826:20: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13238:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13238:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
sv.c:13238:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
sv.c:13238:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6828:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            STORE_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric);               \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13240:31: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13240:31: note: '{' token is here
                            ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13240:31: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13240:31: note: ')' token is here
                            ? my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, fv)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13241:31: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)fv))
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13241:31: note: '{' token is here
                            : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)fv))
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13241:31: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)fv))
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13241:31: note: ')' token is here
                            : my_snprintf(PL_efloatbuf, PL_efloatsize, ptr, (double)fv))
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./perl.h:6829:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            block;                                                          \
            ^~~~~
sv.c:13238:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13238:17: note: '{' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
sv.c:13238:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
sv.c:13238:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6830:13: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
            RESTORE_LC_NUMERIC();                                           \
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13238:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:9: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
        ^
sv.c:13238:17: note: ')' token is here
                WITH_LC_NUMERIC_SET_TO_NEEDED_IN(in_lc_numeric,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6831:11: note: expanded from macro 'WITH_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END;
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13438:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, s - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13438:13: note: '{' token is here
            SvCUR_set(sv, s - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:13438:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, s - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:13438:13: note: ')' token is here
            SvCUR_set(sv, s - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13476:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13476:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
sv.c:13476:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13476:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
sv.c:13476:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
sv.c:13476:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13476:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
sv.c:13476:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:13692:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_UNUSED_RESULT(fchdir(my_dirfd(pwd)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:13692:5: note: '{' token is here
    PERL_UNUSED_RESULT(fchdir(my_dirfd(pwd)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
sv.c:13692:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_UNUSED_RESULT(fchdir(my_dirfd(pwd)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
sv.c:13692:5: note: ')' token is here
    PERL_UNUSED_RESULT(fchdir(my_dirfd(pwd)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14067:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(dstr, sv_dup(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14067:6: note: '{' token is here
            SvRV_set(dstr, sv_dup(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:14067:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(dstr, sv_dup(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:14067:6: note: ')' token is here
            SvRV_set(dstr, sv_dup(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14075:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(dstr, sv_dup_inc(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14075:6: note: '{' token is here
            SvRV_set(dstr, sv_dup_inc(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
sv.c:14075:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvRV_set(dstr, sv_dup_inc(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
sv.c:14075:6: note: ')' token is here
            SvRV_set(dstr, sv_dup_inc(SvRV_const(sstr), param));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14081:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvLEN(sstr)-1));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14081:6: note: '{' token is here
            SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvLEN(sstr)-1));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:14081:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvLEN(sstr)-1));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:14081:6: note: ')' token is here
            SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvLEN(sstr)-1));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14093:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr,
                ^~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14093:3: note: '{' token is here
                SvPV_set(dstr,
                ^~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:14093:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr,
                ^~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:14093:3: note: ')' token is here
                SvPV_set(dstr,
                ^~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14099:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, (char *) SvPVX_const(sstr));             
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14099:3: note: '{' token is here
                SvPV_set(dstr, (char *) SvPVX_const(sstr));             
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:14099:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, (char *) SvPVX_const(sstr));             
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:14099:3: note: ')' token is here
                SvPV_set(dstr, (char *) SvPVX_const(sstr));             
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14105:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(dstr, NULL);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14105:2: note: '{' token is here
        SvPV_set(dstr, NULL);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:14105:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvPV_set(dstr, NULL);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:14105:2: note: ')' token is here
        SvPV_set(dstr, NULL);
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14181:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:353:5: note: expanded from macro 'new_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14181:5: note: '{' token is here
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:353:16: note: expanded from macro 'new_SV'
    STMT_START {                                        \
               ^
sv.c:14181:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:5: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14181:5: note: '{' token is here
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:294:16: note: expanded from macro 'uproot_SV'
    STMT_START {                                        \
               ^
sv.c:14181:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:5: note: expanded from macro 'uproot_SV'
    } STMT_END
    ^
sv.c:14181:5: note: ')' token is here
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:355:6: note: expanded from macro 'new_SV'
            uproot_SV(p);                               \
            ^~~~~~~~~~~~
sv.c:298:7: note: expanded from macro 'uproot_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14181:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:362:5: note: expanded from macro 'new_SV'
    } STMT_END
    ^
sv.c:14181:5: note: ')' token is here
    new_SV(dstr);
    ^~~~~~~~~~~~
sv.c:362:7: note: expanded from macro 'new_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14222:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14222:6: note: '{' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:14222:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:14222:6: note: ')' token is here
            SvIV_set(dstr, SvIVX(sstr));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14231:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(dstr, SvNVX(sstr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14231:2: note: '{' token is here
        SvNV_set(dstr, SvNVX(sstr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:14231:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvNV_set(dstr, SvNVX(sstr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:14231:2: note: ')' token is here
        SvNV_set(dstr, SvNVX(sstr));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14262:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    new_body_inline(new_body, sv_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:5: note: expanded from macro 'new_body_inline'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14262:7: note: '{' token is here
                    new_body_inline(new_body, sv_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1175:16: note: expanded from macro 'new_body_inline'
    STMT_START { \
               ^
sv.c:14262:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    new_body_inline(new_body, sv_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:5: note: expanded from macro 'new_body_inline'
    } STMT_END
    ^
sv.c:14262:7: note: ')' token is here
                    new_body_inline(new_body, sv_type);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sv.c:1182:7: note: expanded from macro 'new_body_inline'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14295:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvMAGIC_set(dstr, mg_dup(SvMAGIC(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:9: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14295:7: note: '{' token is here
                    SvMAGIC_set(dstr, mg_dup(SvMAGIC(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1332:20: note: expanded from macro 'SvMAGIC_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:14295:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvMAGIC_set(dstr, mg_dup(SvMAGIC(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:65: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                ^
sv.c:14295:7: note: ')' token is here
                    SvMAGIC_set(dstr, mg_dup(SvMAGIC(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1333:67: note: expanded from macro 'SvMAGIC_set'
                (((XPVMG*)SvANY(sv))->xmg_u.xmg_magic = (val)); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14297:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSTASH_set(dstr, hv_dup_inc(SvSTASH(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14297:7: note: '{' token is here
                    SvSTASH_set(dstr, hv_dup_inc(SvSTASH(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:14297:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSTASH_set(dstr, hv_dup_inc(SvSTASH(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:14297:7: note: ')' token is here
                    SvSTASH_set(dstr, hv_dup_inc(SvSTASH(dstr), param));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14298:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                else SvSTASH_set(dstr, 0); /* don't copy DESTROY cache */
                     ^~~~~~~~~~~~~~~~~~~~
./sv.h:1335:9: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14298:8: note: '{' token is here
                else SvSTASH_set(dstr, 0); /* don't copy DESTROY cache */
                     ^~~~~~~~~~~~~~~~~~~~
./sv.h:1335:20: note: expanded from macro 'SvSTASH_set'
        STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                   ^
sv.c:14298:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                else SvSTASH_set(dstr, 0); /* don't copy DESTROY cache */
                     ^~~~~~~~~~~~~~~~~~~~
./sv.h:1336:61: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                            ^
sv.c:14298:8: note: ')' token is here
                else SvSTASH_set(dstr, 0); /* don't copy DESTROY cache */
                     ^~~~~~~~~~~~~~~~~~~~
./sv.h:1336:63: note: expanded from macro 'SvSTASH_set'
                (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
                                                              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14501:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14501:7: note: '{' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
sv.c:14501:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
sv.c:14501:7: note: ')' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14503:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14503:7: note: '{' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
sv.c:14503:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
sv.c:14503:7: note: ')' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14852:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void((SV *)TOPPTR(nss,ix));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14852:3: note: '{' token is here
                SvREFCNT_inc_simple_void((SV *)TOPPTR(nss,ix));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
sv.c:14852:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvREFCNT_inc_simple_void((SV *)TOPPTR(nss,ix));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
sv.c:14852:3: note: ')' token is here
                SvREFCNT_inc_simple_void((SV *)TOPPTR(nss,ix));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14951:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14951:7: note: '{' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
sv.c:14951:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
sv.c:14951:7: note: ')' token is here
                    OP_REFCNT_LOCK;
                    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:14953:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:14953:7: note: '{' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
sv.c:14953:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
sv.c:14953:7: note: ')' token is here
                    OP_REFCNT_UNLOCK;
                    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15081:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15081:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
sv.c:15081:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
sv.c:15081:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15082:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15082:6: note: '{' token is here
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
sv.c:15082:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15082:6: note: '{' token is here
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
sv.c:15082:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
sv.c:15082:6: note: ')' token is here
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15082:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
sv.c:15082:6: note: ')' token is here
            mXPUSHs(newSVhek(hvname));
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15196:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SET_THX(my_perl);
    ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15196:5: note: '{' token is here
    PERL_SET_THX(my_perl);
    ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
sv.c:15196:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PERL_SET_THX(my_perl);
    ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
sv.c:15196:5: note: ')' token is here
    PERL_SET_THX(my_perl);
    ^~~~~~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15622:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15622:5: note: '{' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
sv.c:15622:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
sv.c:15622:5: note: ')' token is here
    OP_REFCNT_LOCK;
    ^~~~~~~~~~~~~~
./op.h:597:29: note: expanded from macro 'OP_REFCNT_LOCK'
#    define OP_REFCNT_LOCK              MUTEX_LOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15624:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15624:5: note: '{' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
sv.c:15624:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
sv.c:15624:5: note: ')' token is here
    OP_REFCNT_UNLOCK;
    ^~~~~~~~~~~~~~~~
./op.h:598:31: note: expanded from macro 'OP_REFCNT_UNLOCK'
#    define OP_REFCNT_UNLOCK            MUTEX_UNLOCK(&PL_op_mutex)
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15876:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15876:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
sv.c:15876:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
sv.c:15876:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15877:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15877:6: note: '{' token is here
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
sv.c:15877:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15877:6: note: '{' token is here
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
sv.c:15877:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
sv.c:15877:6: note: ')' token is here
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15877:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
sv.c:15877:6: note: ')' token is here
            mXPUSHs(newSVhek(HvNAME_HEK(stash)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15898:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvREFCNT_inc_simple_void(PL_compcv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15898:2: note: '{' token is here
        SvREFCNT_inc_simple_void(PL_compcv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
sv.c:15898:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvREFCNT_inc_simple_void(PL_compcv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
sv.c:15898:2: note: ')' token is here
        SvREFCNT_inc_simple_void(PL_compcv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15920:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(count);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15920:2: note: '{' token is here
        EXTEND_MORTAL(count);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
sv.c:15920:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(count);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
sv.c:15920:2: note: ')' token is here
        EXTEND_MORTAL(count);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15961:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15961:2: note: '{' token is here
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
sv.c:15961:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
sv.c:15961:2: note: ')' token is here
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15971:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15971:2: note: '{' token is here
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
sv.c:15971:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
sv.c:15971:2: note: ')' token is here
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:15989:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:15989:2: note: '{' token is here
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
sv.c:15989:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
sv.c:15989:2: note: ')' token is here
        PERL_SET_THX(to);
        ^~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16003:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:5: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16003:2: note: '{' token is here
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:323:16: note: expanded from macro 'PERL_SET_CONTEXT'
    STMT_START {                                                \
               ^
sv.c:16003:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:5: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
    ^
sv.c:16003:2: note: ')' token is here
        PERL_SET_THX(was);
        ^~~~~~~~~~~~~~~~~
./perl.h:3568:28: note: expanded from macro 'PERL_SET_THX'
#  define PERL_SET_THX(t)               PERL_SET_CONTEXT(t)
                                        ^~~~~~~~~~~~~~~~~~~
./thread.h:328:7: note: expanded from macro 'PERL_SET_CONTEXT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16038:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_no, (char*)PL_No);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16038:5: note: '{' token is here
    SvPV_set(&PL_sv_no, (char*)PL_No);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:16038:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_no, (char*)PL_No);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:16038:5: note: ')' token is here
    SvPV_set(&PL_sv_no, (char*)PL_No);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16039:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16039:5: note: '{' token is here
    SvCUR_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:16039:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:16039:5: note: ')' token is here
    SvCUR_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16040:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16040:5: note: '{' token is here
    SvLEN_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:16040:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:16040:5: note: ')' token is here
    SvLEN_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16041:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16041:5: note: '{' token is here
    SvIV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:16041:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:16041:5: note: ')' token is here
    SvIV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16042:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16042:5: note: '{' token is here
    SvNV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:16042:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:16042:5: note: ')' token is here
    SvNV_set(&PL_sv_no, 0);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16044:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_yes, (char*)PL_Yes);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16044:5: note: '{' token is here
    SvPV_set(&PL_sv_yes, (char*)PL_Yes);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:16044:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_yes, (char*)PL_Yes);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:16044:5: note: ')' token is here
    SvPV_set(&PL_sv_yes, (char*)PL_Yes);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16045:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16045:5: note: '{' token is here
    SvCUR_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:16045:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:16045:5: note: ')' token is here
    SvCUR_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16046:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_yes, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16046:5: note: '{' token is here
    SvLEN_set(&PL_sv_yes, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:16046:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_yes, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:16046:5: note: ')' token is here
    SvLEN_set(&PL_sv_yes, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16047:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16047:5: note: '{' token is here
    SvIV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:16047:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:16047:5: note: ')' token is here
    SvIV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16048:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16048:5: note: '{' token is here
    SvNV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:16048:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:16048:5: note: ')' token is here
    SvNV_set(&PL_sv_yes, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16050:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_zero, (char*)PL_Zero);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16050:5: note: '{' token is here
    SvPV_set(&PL_sv_zero, (char*)PL_Zero);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
sv.c:16050:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(&PL_sv_zero, (char*)PL_Zero);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
sv.c:16050:5: note: ')' token is here
    SvPV_set(&PL_sv_zero, (char*)PL_Zero);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16051:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_zero, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16051:5: note: '{' token is here
    SvCUR_set(&PL_sv_zero, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:16051:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(&PL_sv_zero, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:16051:5: note: ')' token is here
    SvCUR_set(&PL_sv_zero, 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16052:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16052:5: note: '{' token is here
    SvLEN_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
sv.c:16052:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
sv.c:16052:5: note: ')' token is here
    SvLEN_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16053:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16053:5: note: '{' token is here
    SvIV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
sv.c:16053:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvIV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
sv.c:16053:5: note: ')' token is here
    SvIV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16054:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16054:5: note: '{' token is here
    SvNV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
sv.c:16054:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvNV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
sv.c:16054:5: note: ')' token is here
    SvNV_set(&PL_sv_zero, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16109:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16109:2: note: '{' token is here
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
sv.c:16109:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16109:2: note: '{' token is here
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
sv.c:16109:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
sv.c:16109:2: note: ')' token is here
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16109:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
sv.c:16109:2: note: ')' token is here
        PUSHSTACK;
        ^~~~~~~~~
./cop.h:1099:19: note: expanded from macro 'PUSHSTACK'
#define PUSHSTACK PUSHSTACKi(PERLSI_UNKNOWN)
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16113:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetSV_nosteal(nsv, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16113:6: note: '{' token is here
            SvSetSV_nosteal(nsv, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
sv.c:16113:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetSV_nosteal(nsv, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
sv.c:16113:6: note: ')' token is here
            SvSetSV_nosteal(nsv, sv);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16116:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16116:2: note: '{' token is here
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
sv.c:16116:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
sv.c:16116:2: note: ')' token is here
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16117:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 3);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16117:2: note: '{' token is here
        EXTEND(SP, 3);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
sv.c:16117:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 3);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
sv.c:16117:2: note: ')' token is here
        EXTEND(SP, 3);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16139:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16139:6: note: '{' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
sv.c:16139:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
sv.c:16139:6: note: ')' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16142:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16142:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
sv.c:16142:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16142:2: note: '{' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
sv.c:16142:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
sv.c:16142:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16142:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
sv.c:16142:2: note: ')' token is here
        POPSTACK;
        ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16187:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16187:2: note: '{' token is here
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
sv.c:16187:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
sv.c:16187:2: note: ')' token is here
        PUSHMARK(sp);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
sv.c:16188:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 6);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
sv.c:16188:2: note: '{' token is here
        EXTEND(SP, 6);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
sv.c:16188:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 6);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
sv.c:16188:2: note: ')' token is here
        EXTEND(SP, 6);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
839 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp.c
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:1965:48: warning: implicit conversion from 'IV' (aka 'long') to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
    if (UNLIKELY(nv < IV_MIN) || UNLIKELY(nv > IV_MAX)) {
                                 ~~~~~~~~~~~~~~^~~~~~~
./perl.h:1916:20: note: expanded from macro 'IV_MAX'
#    define IV_MAX PERL_QUAD_MAX
                   ^
./perl.h:2606:29: note: expanded from macro 'PERL_QUAD_MAX'
#    define PERL_QUAD_MAX       ((IV) (PERL_UQUAD_MAX >> 1))
                                 ^
./perl.h:3671:58: note: expanded from macro 'UNLIKELY'
#define UNLIKELY(cond)                      EXPECT(cBOOL(cond),FALSE)
                                            ~~~~~~~~~~~~~^~~~~~~~~~~~
./handy.h:111:24: note: expanded from macro 'cBOOL'
#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
                       ^~~~~
./perl.h:3650:62: note: expanded from macro 'EXPECT'
#  define EXPECT(expr,val)                  __builtin_expect(expr,val)
                                                             ^~~~
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp.c:28:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:41:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:41:2: note: '{' token is here
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:41:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:41:2: note: '{' token is here
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:41:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:41:2: note: ')' token is here
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:41:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:41:2: note: ')' token is here
        XPUSHs(&PL_sv_undef);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:53:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:53:5: note: '{' token is here
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:53:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:53:5: note: '{' token is here
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:53:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:53:5: note: ')' token is here
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:53:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:53:5: note: ')' token is here
    XPUSHs(TARG);
    ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:5: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1386:16: note: expanded from macro 'prepare_SV_for_RV'
    STMT_START {                                                        \
               ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1390:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvPV_free(sv);                                  \
                        ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1391:4: note: expanded from macro 'prepare_SV_for_RV'
                        SvLEN_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:143:7: note: '{' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1392:25: note: expanded from macro 'prepare_SV_for_RV'
                        SvCUR_set(sv, 0);                               \
                        ^~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:143:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:4: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                 ^
pp.c:143:7: note: ')' token is here
                    prepare_SV_for_RV(sv);
                    ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1394:6: note: expanded from macro 'prepare_SV_for_RV'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:144:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(sv, MUTABLE_SV(gv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:144:7: note: '{' token is here
                    SvRV_set(sv, MUTABLE_SV(gv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp.c:144:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvRV_set(sv, MUTABLE_SV(gv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp.c:144:7: note: ')' token is here
                    SvRV_set(sv, MUTABLE_SV(gv));
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:146:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:146:7: note: '{' token is here
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:146:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:146:7: note: ')' token is here
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:336:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu(i);
                    ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:336:21: note: '{' token is here
                    SETu(i);
                    ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:336:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu(i);
                    ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:336:21: note: '{' token is here
                    SETu(i);
                    ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:336:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu(i);
                    ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:336:21: note: ')' token is here
                    SETu(i);
                    ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:336:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu(i);
                    ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:336:21: note: ')' token is here
                    SETu(i);
                    ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:411:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:411:5: note: '{' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:411:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:411:5: note: ')' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:431:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:431:6: note: '{' token is here
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:431:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:431:6: note: ')' token is here
            MEXTEND(SP, 1);
            ^~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:438:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_MORTAL(SP - MARK);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:438:5: note: '{' token is here
    EXTEND_MORTAL(SP - MARK);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp.c:438:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND_MORTAL(SP - MARK);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp.c:438:5: note: ')' token is here
    EXTEND_MORTAL(SP - MARK);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:476:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:476:5: note: '{' token is here
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
pp.c:476:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
pp.c:476:5: note: ')' token is here
    SvRV_set(rv, sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:524:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:524:2: note: '{' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:524:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:524:2: note: ')' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:677:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:677:2: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:677:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:677:2: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:798:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:798:6: note: '{' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:798:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:798:6: note: ')' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:801:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:801:6: note: '{' token is here
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:801:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:801:6: note: ')' token is here
            SvSETMAGIC(sv);
            ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:822:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, s - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:822:7: note: '{' token is here
                    SvCUR_set(sv, s - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:822:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, s - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:822:7: note: ')' token is here
                    SvCUR_set(sv, s - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:834:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:834:6: note: '{' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:834:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:834:6: note: ')' token is here
            SvCUR_set(sv, len);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:840:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:840:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:840:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:840:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:856:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:856:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:856:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:856:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:856:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:856:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:856:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:856:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:874:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:19: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:874:5: note: '{' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:30: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                   ^
pp.c:874:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:874:5: note: '{' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:874:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:874:5: note: ')' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:874:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:874:5: note: '{' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:874:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:874:5: note: '{' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:874:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:874:5: note: ')' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:874:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:874:5: note: ')' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:874:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:64: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                     ^
pp.c:874:5: note: ')' token is here
    XPUSHTARG;
    ^~~~~~~~~
./pp.h:463:66: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                       ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:884:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:884:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:884:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:884:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:970:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:970:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
pp.c:970:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:970:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
pp.c:970:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
pp.c:970:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:970:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:970:6: note: '{' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp.c:970:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp.c:970:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:970:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
pp.c:970:6: note: ')' token is here
            SvPV_free(sv);
            ^~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:971:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:971:6: note: '{' token is here
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp.c:971:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp.c:971:6: note: ')' token is here
            SvPV_set(sv, NULL);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:972:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:972:6: note: '{' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp.c:972:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp.c:972:6: note: ')' token is here
            SvLEN_set(sv, 0);
            ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:975:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:975:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:975:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:975:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:999:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:999:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:999:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:999:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1003:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1003:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:1003:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1003:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:1003:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:1003:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1003:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:1003:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1023:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv,  iv + 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1023:2: note: '{' token is here
        SvIV_set(sv,  iv + 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
pp.c:1023:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv,  iv + 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
pp.c:1023:2: note: ')' token is here
        SvIV_set(sv,  iv + 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1024:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1024:9: note: '{' token is here
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1024:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1024:9: note: ')' token is here
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1048:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv,  iv - 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1048:2: note: '{' token is here
        SvIV_set(sv,  iv - 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
pp.c:1048:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvIV_set(sv,  iv - 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
pp.c:1048:2: note: ')' token is here
        SvIV_set(sv,  iv - 1);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1049:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1049:9: note: '{' token is here
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1049:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1049:9: note: ')' token is here
        TARGi(iv, 0); /* arg not GMG, so can't be tainted */
        ^~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1066:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1066:5: note: '{' token is here
    tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1066:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1066:5: note: ')' token is here
    tryAMAGICbin_MG(pow_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1127:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1127:21: note: '{' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1127:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1127:21: note: '{' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1127:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1127:21: note: '{' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1127:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1127:21: note: ')' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1127:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1127:21: note: ')' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1127:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1127:21: note: ')' token is here
                    SETn( result );
                    ^~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1158:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1158:8: note: '{' token is here
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1158:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1158:8: note: '{' token is here
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:1158:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:1158:8: note: ')' token is here
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1158:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1158:8: note: ')' token is here
                            SETu( result );
                            ^~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1161:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1161:8: note: '{' token is here
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1161:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1161:8: note: '{' token is here
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1161:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1161:8: note: ')' token is here
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1161:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1161:8: note: ')' token is here
                            SETi( -(IV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1164:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1164:8: note: '{' token is here
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1164:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1164:8: note: '{' token is here
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1164:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1164:8: note: ')' token is here
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1164:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1164:8: note: ')' token is here
                            SETi( IV_MIN );
                            ^~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1167:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1167:8: note: '{' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1167:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1167:8: note: '{' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1167:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1167:8: note: '{' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1167:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1167:8: note: ')' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1167:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1167:8: note: ')' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1167:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1167:8: note: ')' token is here
                            SETn( -(NV)result );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1216:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1216:2: note: '{' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1216:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1216:2: note: '{' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1216:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1216:2: note: '{' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1216:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1216:2: note: ')' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1216:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1216:2: note: ')' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1216:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1216:2: note: ')' token is here
        SETn( Perl_pow( left, right) );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1230:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1230:5: note: '{' token is here
    tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1230:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1230:5: note: ')' token is here
    tryAMAGICbin_MG(mult_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1259:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il * ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1259:17: note: '{' token is here
                TARGi(il * ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1259:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il * ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1259:17: note: ')' token is here
                TARGi(il * ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1282:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1282:13: note: '{' token is here
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1282:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1282:13: note: '{' token is here
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1282:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1282:13: note: ')' token is here
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1282:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1282:13: note: ')' token is here
            TARGn(result, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1347:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1347:7: note: '{' token is here
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1347:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1347:7: note: '{' token is here
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:1347:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:1347:7: note: ')' token is here
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1347:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1347:7: note: ')' token is here
                    SETu( product );
                    ^~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1357:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1357:7: note: '{' token is here
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1357:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1357:7: note: '{' token is here
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1357:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1357:7: note: ')' token is here
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1357:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1357:7: note: ')' token is here
                    SETi( -(IV)product );
                    ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1388:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1388:8: note: '{' token is here
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1388:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1388:8: note: '{' token is here
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:1388:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:1388:8: note: ')' token is here
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1388:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1388:8: note: ')' token is here
                            SETu( product_low );
                            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1394:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1394:8: note: '{' token is here
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1394:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1394:8: note: '{' token is here
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1394:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1394:8: note: ')' token is here
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1394:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1394:8: note: ')' token is here
                            SETi(product_low == (UV)IV_MIN
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1415:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1415:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1415:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1415:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1415:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1415:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1415:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1415:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1415:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1415:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1415:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1415:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1423:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1423:5: note: '{' token is here
    tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1423:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1423:5: note: ')' token is here
    tryAMAGICbin_MG(div_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1507:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1507:25: note: '{' token is here
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1507:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1507:25: note: '{' token is here
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:1507:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:1507:25: note: ')' token is here
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1507:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1507:25: note: ')' token is here
                        SETu( result );
                        ^~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1512:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1512:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1512:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1512:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1512:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1512:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1512:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1512:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN ? IV_MIN : -(IV)result);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1515:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1515:25: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1515:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1515:25: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1515:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1515:25: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1515:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1515:25: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1515:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1515:25: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1515:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1515:25: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1532:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:18: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1532:2: note: '{' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:29: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                   ^
pp.c:1532:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1532:2: note: '{' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1532:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1532:2: note: '{' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1532:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1532:2: note: ')' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1532:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1532:2: note: ')' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:31: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1532:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:56: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                                              ^
pp.c:1532:2: note: ')' token is here
        PUSHn( left / right );
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:458:58: note: expanded from macro 'PUSHn'
#define PUSHn(n)        STMT_START { TARGn(n,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1540:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1540:5: note: '{' token is here
    tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1540:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1540:5: note: ')' token is here
    tryAMAGICbin_MG(modulo_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1659:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1659:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp.c:1659:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1659:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:1659:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:1659:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1659:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp.c:1659:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1692:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1692:17: note: '{' token is here
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:1692:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:1692:17: note: ')' token is here
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1698:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICbin_MG(repeat_amg, AMGf_assign);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1698:2: note: '{' token is here
        tryAMAGICbin_MG(repeat_amg, AMGf_assign);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1698:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        tryAMAGICbin_MG(repeat_amg, AMGf_assign);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1698:2: note: ')' token is here
        tryAMAGICbin_MG(repeat_amg, AMGf_assign);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1751:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(MARK, max);
            ^~~~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1751:13: note: '{' token is here
            MEXTEND(MARK, max);
            ^~~~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:1751:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(MARK, max);
            ^~~~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:1751:13: note: ')' token is here
            MEXTEND(MARK, max);
            ^~~~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1781:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1781:3: note: '{' token is here
                SvCUR_set(TARG, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:1781:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:1781:3: note: ')' token is here
                SvCUR_set(TARG, 0);
                ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1794:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, SvCUR(TARG) * count);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1794:3: note: '{' token is here
                SvCUR_set(TARG, SvCUR(TARG) * count);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:1794:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(TARG, SvCUR(TARG) * count);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:1794:3: note: ')' token is here
                SvCUR_set(TARG, SvCUR(TARG) * count);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1803:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1803:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp.c:1803:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1803:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:1803:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:1803:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1803:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp.c:1803:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1811:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1811:5: note: '{' token is here
    tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:1811:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:1811:5: note: ')' token is here
    tryAMAGICbin_MG(subtr_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1835:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il - ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1835:17: note: '{' token is here
                TARGi(il - ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1835:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                TARGi(il - ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1835:17: note: ')' token is here
                TARGi(il - ir, 0); /* args not GMG, so can't be tainted */
                ^~~~~~~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1851:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1851:13: note: '{' token is here
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1851:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1851:13: note: '{' token is here
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1851:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1851:13: note: ')' token is here
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1851:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1851:13: note: ')' token is here
            TARGn(nl - nr, 0); /* args not GMG, so can't be tainted */
            ^~~~~~~~~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1942:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1942:7: note: '{' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1942:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1942:7: note: '{' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:1942:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:1942:7: note: ')' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1942:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1942:7: note: ')' token is here
                    SETu( result );
                    ^~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1946:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1946:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1946:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1946:25: note: '{' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:1946:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:1946:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1946:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1946:25: note: ')' token is here
                        SETi(result == (UV)IV_MIN
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1950:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1950:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1950:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1950:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1950:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1950:4: note: '{' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1950:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1950:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1950:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1950:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1950:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1950:4: note: ')' token is here
                        SETn( -(NV)result );
                        ^~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1966:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1966:6: note: '{' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1966:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1966:6: note: '{' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1966:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1966:6: note: '{' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1966:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1966:6: note: ')' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1966:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1966:6: note: ')' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1966:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1966:6: note: ')' token is here
            SETn(-value);
            ^~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1969:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1969:2: note: '{' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:1969:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1969:2: note: '{' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:1969:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:1969:2: note: '{' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:1969:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:1969:2: note: ')' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1969:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:1969:2: note: ')' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:1969:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:1969:2: note: ')' token is here
        SETn( SvNV_nomg(svl) - value );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2028:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2028:5: note: '{' token is here
    tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2028:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2028:5: note: ')' token is here
    tryAMAGICbin_MG(lshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2034:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2034:11: note: '{' token is here
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2034:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2034:11: note: '{' token is here
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2034:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2034:11: note: ')' token is here
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2034:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2034:11: note: ')' token is here
          SETi(IV_LEFT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2037:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2037:4: note: '{' token is here
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2037:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2037:4: note: '{' token is here
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2037:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2037:4: note: ')' token is here
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2037:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2037:4: note: ')' token is here
          SETu(UV_LEFT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2046:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2046:5: note: '{' token is here
    tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2046:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2046:5: note: ')' token is here
    tryAMAGICbin_MG(rshift_amg, AMGf_assign|AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2052:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2052:4: note: '{' token is here
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2052:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2052:4: note: '{' token is here
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2052:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2052:4: note: ')' token is here
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2052:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2052:4: note: ')' token is here
          SETi(IV_RIGHT_SHIFT(SvIV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2055:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2055:11: note: '{' token is here
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2055:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2055:11: note: '{' token is here
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2055:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2055:11: note: ')' token is here
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2055:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2055:11: note: ')' token is here
          SETu(UV_RIGHT_SHIFT(SvUV_nomg(svl), shift));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2066:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2066:5: note: '{' token is here
    tryAMAGICbin_MG(lt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2066:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2066:5: note: ')' token is here
    tryAMAGICbin_MG(lt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2082:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(gt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2082:5: note: '{' token is here
    tryAMAGICbin_MG(gt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2082:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(gt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2082:5: note: ')' token is here
    tryAMAGICbin_MG(gt_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2098:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(le_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2098:5: note: '{' token is here
    tryAMAGICbin_MG(le_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2098:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(le_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2098:5: note: ')' token is here
    tryAMAGICbin_MG(le_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ge_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2114:5: note: '{' token is here
    tryAMAGICbin_MG(ge_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ge_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2114:5: note: ')' token is here
    tryAMAGICbin_MG(ge_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2130:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ne_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2130:5: note: '{' token is here
    tryAMAGICbin_MG(ne_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2130:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ne_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2130:5: note: ')' token is here
    tryAMAGICbin_MG(ne_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2218:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2218:5: note: '{' token is here
    tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2218:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2218:5: note: ')' token is here
    tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2227:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2227:2: note: '{' token is here
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2227:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2227:2: note: '{' token is here
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2227:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2227:2: note: ')' token is here
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2227:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2227:2: note: ')' token is here
        SETi(value);
        ^~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2262:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2262:5: note: '{' token is here
    tryAMAGICbin_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2262:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2262:5: note: ')' token is here
    tryAMAGICbin_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2280:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(seq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2280:5: note: '{' token is here
    tryAMAGICbin_MG(seq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2280:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(seq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2280:5: note: ')' token is here
    tryAMAGICbin_MG(seq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2291:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(sne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2291:5: note: '{' token is here
    tryAMAGICbin_MG(sne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2291:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(sne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2291:5: note: ')' token is here
    tryAMAGICbin_MG(sne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2302:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(scmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2302:5: note: '{' token is here
    tryAMAGICbin_MG(scmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2302:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(scmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2302:5: note: ')' token is here
    tryAMAGICbin_MG(scmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2312:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2312:7: note: '{' token is here
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2312:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2312:7: note: '{' token is here
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2312:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2312:7: note: ')' token is here
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2312:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2312:7: note: ')' token is here
      SETi( cmp );
      ^~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2320:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(band_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2320:5: note: '{' token is here
    tryAMAGICbin_MG(band_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2320:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(band_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2320:5: note: ')' token is here
    tryAMAGICbin_MG(band_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2328:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2328:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2328:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2328:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2328:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2328:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2328:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2328:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2332:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2332:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2332:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2332:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2332:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2332:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2332:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2332:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2339:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2339:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2339:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2339:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2339:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2339:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2339:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2339:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2348:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(band_amg, AMGf_assign|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2348:5: note: '{' token is here
    tryAMAGICbin_MG(band_amg, AMGf_assign|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2348:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(band_amg, AMGf_assign|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2348:5: note: ')' token is here
    tryAMAGICbin_MG(band_amg, AMGf_assign|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2353:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2353:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2353:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2353:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2353:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2353:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2353:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2353:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2357:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2357:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2357:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2357:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2357:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2357:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2357:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2357:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2366:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(sband_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2366:5: note: '{' token is here
    tryAMAGICbin_MG(sband_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2366:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(sband_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2366:5: note: ')' token is here
    tryAMAGICbin_MG(sband_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2370:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:20: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2370:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:31: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                   ^
pp.c:2370:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2370:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2370:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2370:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2370:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2370:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2370:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2370:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2370:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:50: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                                      ^
pp.c:2370:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:52: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                                        ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2381:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2381:5: note: '{' token is here
    tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2381:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2381:5: note: ')' token is here
    tryAMAGICbin_MG((op_type == OP_BIT_OR ? bor_amg : bxor_amg), AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2391:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2391:4: note: '{' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2391:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2391:4: note: '{' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2391:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2391:4: note: ')' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2391:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2391:4: note: ')' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2397:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2397:4: note: '{' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2397:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2397:4: note: '{' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2397:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2397:4: note: ')' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2397:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2397:4: note: ')' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2404:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2404:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2404:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2404:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2404:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2404:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2404:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2404:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2417:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_NBIT_OR ? bor_amg : bxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2417:5: note: '{' token is here
    tryAMAGICbin_MG((op_type == OP_NBIT_OR ? bor_amg : bxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2417:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_NBIT_OR ? bor_amg : bxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2417:5: note: ')' token is here
    tryAMAGICbin_MG((op_type == OP_NBIT_OR ? bor_amg : bxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2425:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2425:4: note: '{' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2425:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2425:4: note: '{' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2425:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2425:4: note: ')' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2425:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2425:4: note: ')' token is here
          SETi(result);
          ^~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2431:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2431:4: note: '{' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2431:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2431:4: note: '{' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2431:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2431:4: note: ')' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2431:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2431:4: note: ')' token is here
          SETu(result);
          ^~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2444:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_SBIT_OR ? sbor_amg : sbxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2444:5: note: '{' token is here
    tryAMAGICbin_MG((op_type == OP_SBIT_OR ? sbor_amg : sbxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2444:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG((op_type == OP_SBIT_OR ? sbor_amg : sbxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2444:5: note: ')' token is here
    tryAMAGICbin_MG((op_type == OP_SBIT_OR ? sbor_amg : sbxor_amg),
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2450:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:20: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2450:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:31: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                   ^
pp.c:2450:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2450:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2450:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2450:2: note: '{' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2450:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2450:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2450:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2450:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:33: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                     ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2450:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:50: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                                      ^
pp.c:2450:2: note: ')' token is here
        RETSETTARG;
        ^~~~~~~~~~
./pp.h:532:52: note: expanded from macro 'RETSETTARG'
#define RETSETTARG      STMT_START { SETTARG; RETURN; } STMT_END
                                                        ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2473:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2473:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2473:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2473:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2473:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2473:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2473:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2473:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2480:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(neg_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2480:5: note: '{' token is here
    tryAMAGICun_MG(neg_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2480:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(neg_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2480:5: note: ')' token is here
    tryAMAGICun_MG(neg_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2491:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2491:21: note: '{' token is here
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2491:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2491:21: note: '{' token is here
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2491:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2491:21: note: ')' token is here
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2491:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2491:21: note: ')' token is here
                    SETi(SvIVX(sv));    /* special case: -((UV)IV_MAX+1) ==
                    ^~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2496:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2496:7: note: '{' token is here
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2496:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2496:7: note: '{' token is here
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2496:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2496:7: note: ')' token is here
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2496:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2496:7: note: ')' token is here
                    SETi(-SvIVX(sv));
                    ^~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2501:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2501:3: note: '{' token is here
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2501:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2501:3: note: '{' token is here
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2501:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2501:3: note: ')' token is here
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2501:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2501:3: note: ')' token is here
                SETi(-SvIVX(sv));
                ^~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2506:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2506:3: note: '{' token is here
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2506:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2506:3: note: '{' token is here
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2506:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2506:3: note: ')' token is here
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2506:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2506:3: note: ')' token is here
                SETu((UV)IV_MIN);
                ^~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2512:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2512:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2512:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2512:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2512:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2512:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2512:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2512:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2512:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2512:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2512:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2512:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2516:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2516:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2516:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2516:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2516:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2516:6: note: '{' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2516:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2516:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2516:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2516:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2516:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2516:6: note: ')' token is here
            SETn(-SvNV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2526:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(not_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2526:5: note: '{' token is here
    tryAMAGICun_MG(not_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2526:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(not_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2526:5: note: ')' token is here
    tryAMAGICun_MG(not_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2546:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2546:13: note: '{' token is here
            SvCUR_set(TARG, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:2546:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:2546:13: note: ')' token is here
            SvCUR_set(TARG, len);
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2569:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(compl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2569:5: note: '{' token is here
    tryAMAGICun_MG(compl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2569:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(compl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2569:5: note: ')' token is here
    tryAMAGICun_MG(compl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2575:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2575:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2575:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2575:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2575:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2575:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2575:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2575:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2579:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2579:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2579:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2579:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2579:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2579:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2579:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2579:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2584:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2584:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2584:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2584:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2584:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2584:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2584:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2584:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2593:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(compl_amg, AMGf_numeric|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2593:5: note: '{' token is here
    tryAMAGICun_MG(compl_amg, AMGf_numeric|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2593:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(compl_amg, AMGf_numeric|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2593:5: note: ')' token is here
    tryAMAGICun_MG(compl_amg, AMGf_numeric|AMGf_numarg);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2598:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2598:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2598:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2598:4: note: '{' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2598:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2598:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2598:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETi(i);
          ^~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2598:4: note: ')' token is here
          SETi(i);
          ^~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2602:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2602:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2602:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2602:4: note: '{' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2602:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2602:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2602:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(u);
          ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2602:4: note: ')' token is here
          SETu(u);
          ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2611:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(scompl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2611:5: note: '{' token is here
    tryAMAGICun_MG(scompl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2611:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(scompl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2611:5: note: ')' token is here
    tryAMAGICun_MG(scompl_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2615:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2615:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:2615:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2615:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2615:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2615:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2615:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:2615:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2625:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(mult_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2625:5: note: '{' token is here
    tryAMAGICbin_MG(mult_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2625:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(mult_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2625:5: note: ')' token is here
    tryAMAGICbin_MG(mult_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2628:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2628:7: note: '{' token is here
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2628:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2628:7: note: '{' token is here
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2628:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2628:7: note: ')' token is here
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2628:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2628:7: note: ')' token is here
      SETi( left * right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2637:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(div_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2637:5: note: '{' token is here
    tryAMAGICbin_MG(div_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2637:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(div_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2637:5: note: ')' token is here
    tryAMAGICbin_MG(div_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2650:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2650:7: note: '{' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2650:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2650:7: note: '{' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2650:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2650:7: note: ')' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2650:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2650:7: note: ')' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2658:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     tryAMAGICbin_MG(modulo_amg, AMGf_assign);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2658:6: note: '{' token is here
     tryAMAGICbin_MG(modulo_amg, AMGf_assign);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2658:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     tryAMAGICbin_MG(modulo_amg, AMGf_assign);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2658:6: note: ')' token is here
     tryAMAGICbin_MG(modulo_amg, AMGf_assign);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2665:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2665:8: note: '{' token is here
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2665:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2665:8: note: '{' token is here
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2665:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2665:8: note: ')' token is here
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2665:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2665:8: note: ')' token is here
              SETi( 0 );
              ^~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2667:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2667:8: note: '{' token is here
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2667:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2667:8: note: '{' token is here
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2667:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2667:8: note: ')' token is here
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2667:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2667:8: note: ')' token is here
              SETi( left % right );
              ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(add_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2675:5: note: '{' token is here
    tryAMAGICbin_MG(add_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(add_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2675:5: note: ')' token is here
    tryAMAGICbin_MG(add_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2678:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2678:7: note: '{' token is here
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2678:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2678:7: note: '{' token is here
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2678:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2678:7: note: ')' token is here
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2678:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2678:7: note: ')' token is here
      SETi( left + right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2686:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(subtr_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2686:5: note: '{' token is here
    tryAMAGICbin_MG(subtr_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2686:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(subtr_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2686:5: note: ')' token is here
    tryAMAGICbin_MG(subtr_amg, AMGf_assign);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2689:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2689:7: note: '{' token is here
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2689:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2689:7: note: '{' token is here
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2689:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2689:7: note: ')' token is here
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2689:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2689:7: note: ')' token is here
      SETi( left - right );
      ^~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2697:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2697:5: note: '{' token is here
    tryAMAGICbin_MG(lt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2697:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(lt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2697:5: note: ')' token is here
    tryAMAGICbin_MG(lt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2708:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(gt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2708:5: note: '{' token is here
    tryAMAGICbin_MG(gt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2708:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(gt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2708:5: note: ')' token is here
    tryAMAGICbin_MG(gt_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2719:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(le_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2719:5: note: '{' token is here
    tryAMAGICbin_MG(le_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2719:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(le_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2719:5: note: ')' token is here
    tryAMAGICbin_MG(le_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2730:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ge_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2730:5: note: '{' token is here
    tryAMAGICbin_MG(ge_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2730:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ge_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2730:5: note: ')' token is here
    tryAMAGICbin_MG(ge_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2741:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(eq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2741:5: note: '{' token is here
    tryAMAGICbin_MG(eq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2741:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(eq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2741:5: note: ')' token is here
    tryAMAGICbin_MG(eq_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2752:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2752:5: note: '{' token is here
    tryAMAGICbin_MG(ne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2752:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2752:5: note: ')' token is here
    tryAMAGICbin_MG(ne_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2763:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ncmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2763:5: note: '{' token is here
    tryAMAGICbin_MG(ncmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2763:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(ncmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2763:5: note: ')' token is here
    tryAMAGICbin_MG(ncmp_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2774:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2774:7: note: '{' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2774:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2774:7: note: '{' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2774:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2774:7: note: ')' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2774:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2774:7: note: ')' token is here
      SETi(value);
      ^~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2782:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(neg_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2782:5: note: '{' token is here
    tryAMAGICun_MG(neg_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2782:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(neg_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2782:5: note: ')' token is here
    tryAMAGICun_MG(neg_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2787:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(-i);
        ^~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2787:2: note: '{' token is here
        SETi(-i);
        ^~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2787:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(-i);
        ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2787:2: note: '{' token is here
        SETi(-i);
        ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2787:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(-i);
        ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2787:2: note: ')' token is here
        SETi(-i);
        ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2787:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETi(-i);
        ^~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2787:2: note: ')' token is here
        SETi(-i);
        ^~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2797:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(atan2_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:40: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2797:5: note: '{' token is here
    tryAMAGICbin_MG(atan2_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:571:51: note: expanded from macro 'tryAMAGICbin_MG'
#define tryAMAGICbin_MG(method, flags) STMT_START { \
                                                  ^
pp.c:2797:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICbin_MG(atan2_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:5: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
    ^
pp.c:2797:5: note: ')' token is here
    tryAMAGICbin_MG(atan2_amg, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:575:7: note: expanded from macro 'tryAMAGICbin_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2800:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2800:7: note: '{' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2800:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2800:7: note: '{' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2800:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2800:7: note: '{' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2800:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2800:7: note: ')' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2800:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2800:7: note: ')' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2800:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2800:7: note: ')' token is here
      SETn(Perl_atan2(left, right));
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2825:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2825:5: note: '{' token is here
    tryAMAGICun_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2825:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2825:5: note: ')' token is here
    tryAMAGICun_MG(amg_type, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2840:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SET_NUMERIC_STANDARD();
              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6762:2: note: expanded from macro 'SET_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2840:8: note: '{' token is here
              SET_NUMERIC_STANDARD();
              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6762:13: note: expanded from macro 'SET_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
pp.c:2840:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SET_NUMERIC_STANDARD();
              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6770:9: note: expanded from macro 'SET_NUMERIC_STANDARD'
        } STMT_END
        ^
pp.c:2840:8: note: ')' token is here
              SET_NUMERIC_STANDARD();
              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6770:11: note: expanded from macro 'SET_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2853:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2853:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2853:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2853:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2853:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2853:7: note: '{' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2853:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2853:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2853:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2853:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2853:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2853:7: note: ')' token is here
      SETn(result);
      ^~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2881:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2881:6: note: '{' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:2881:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:2881:6: note: ')' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2937:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:19: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2937:2: note: '{' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:30: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                   ^
pp.c:2937:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2937:2: note: '{' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2937:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2937:2: note: ')' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2937:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2937:2: note: '{' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:2937:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2937:2: note: '{' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:2937:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:2937:2: note: ')' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2937:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:2937:2: note: ')' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2937:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:58: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp.c:2937:2: note: ')' token is here
        XPUSHu(anum);
        ^~~~~~~~~~~~
./pp.h:467:60: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2942:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:19: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2942:2: note: '{' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:30: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                   ^
pp.c:2942:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2942:2: note: '{' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:2942:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:2942:2: note: ')' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2942:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2942:2: note: '{' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:2942:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2942:2: note: '{' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:2942:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:2942:2: note: ')' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2942:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:2942:2: note: ')' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2942:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:64: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                     ^
pp.c:2942:2: note: ')' token is here
        XPUSHTARG;
        ^~~~~~~~~
./pp.h:463:66: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                       ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2950:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(int_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2950:5: note: '{' token is here
    tryAMAGICun_MG(int_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2950:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(int_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2950:5: note: ')' token is here
    tryAMAGICun_MG(int_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2960:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2960:9: note: '{' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2960:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2960:9: note: '{' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2960:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2960:9: note: ')' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2960:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2960:9: note: ')' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2964:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2964:6: note: '{' token is here
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2964:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2964:6: note: '{' token is here
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2964:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2964:6: note: ')' token is here
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2964:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2964:6: note: ')' token is here
            SETu(SvUV_nomg(sv));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2966:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2966:6: note: '{' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2966:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2966:6: note: '{' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2966:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2966:6: note: ')' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2966:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2966:6: note: ')' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2971:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2971:8: note: '{' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2971:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2971:8: note: '{' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2971:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2971:8: note: '{' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2971:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2971:8: note: ')' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2971:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2971:8: note: ')' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2971:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2971:8: note: ')' token is here
              SETn(value);
              ^~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2974:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2974:5: note: '{' token is here
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2974:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2974:5: note: '{' token is here
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:2974:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:2974:5: note: ')' token is here
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2974:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2974:5: note: ')' token is here
                  SETu(U_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2976:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2976:5: note: '{' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2976:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2976:5: note: '{' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2976:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2976:5: note: '{' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2976:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2976:5: note: ')' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2976:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2976:5: note: ')' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2976:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2976:5: note: ')' token is here
                  SETn(Perl_floor(value));
                  ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2981:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2981:5: note: '{' token is here
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2981:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2981:5: note: '{' token is here
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:2981:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:2981:5: note: ')' token is here
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2981:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2981:5: note: ')' token is here
                  SETi(I_V(value));
                  ^~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2983:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2983:5: note: '{' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:2983:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2983:5: note: '{' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:2983:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2983:5: note: '{' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:2983:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:2983:5: note: ')' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2983:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:2983:5: note: ')' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2983:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:2983:5: note: ')' token is here
                  SETn(Perl_ceil(value));
                  ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:2994:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(abs_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:39: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:2994:5: note: '{' token is here
    tryAMAGICun_MG(abs_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:566:50: note: expanded from macro 'tryAMAGICun_MG'
#define tryAMAGICun_MG(method, flags) STMT_START { \
                                                 ^
pp.c:2994:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICun_MG(abs_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:5: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
    ^
pp.c:2994:5: note: ')' token is here
    tryAMAGICun_MG(abs_amg, AMGf_numeric);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:570:7: note: expanded from macro 'tryAMAGICun_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3001:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3001:9: note: '{' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3001:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3001:9: note: '{' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:3001:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:3001:9: note: ')' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3001:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(0);
        ^~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3001:9: note: ')' token is here
        SETu(0);
        ^~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3006:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3006:4: note: '{' token is here
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3006:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3006:4: note: '{' token is here
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:3006:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:3006:4: note: ')' token is here
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3006:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3006:4: note: ')' token is here
          SETu(SvUV_nomg(sv));  /* force it to be numeric only */
          ^~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3009:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3009:6: note: '{' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3009:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3009:6: note: '{' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:3009:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:3009:6: note: ')' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3009:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SETi(iv);
            ^~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3009:6: note: ')' token is here
            SETi(iv);
            ^~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3012:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3012:8: note: '{' token is here
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3012:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3012:8: note: '{' token is here
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:3012:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:3012:8: note: ')' token is here
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3012:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3012:8: note: ')' token is here
              SETi(-iv);
              ^~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3016:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3016:8: note: '{' token is here
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3016:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3016:8: note: '{' token is here
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:3016:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:3016:8: note: ')' token is here
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3016:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3016:8: note: ')' token is here
              SETu((UV)IV_MIN);
              ^~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3023:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3023:4: note: '{' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3023:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3023:4: note: '{' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:3023:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3023:4: note: '{' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:3023:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:3023:4: note: ')' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3023:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:3023:4: note: ')' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3023:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3023:4: note: ')' token is here
          SETn(-value);
          ^~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3025:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3025:4: note: '{' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3025:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3025:4: note: '{' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:3025:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3025:4: note: '{' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:3025:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:3025:4: note: ')' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3025:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:3025:4: note: ')' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3025:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3025:4: note: ')' token is here
          SETn(value);
          ^~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3076:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:18: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3076:9: note: '{' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:29: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3076:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:5: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3076:9: note: '{' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:437:16: note: expanded from macro 'TARGn'
    STMT_START {                                                        \
               ^
pp.c:3076:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:2: note: expanded from macro 'SvNV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3076:9: note: '{' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1308:13: note: expanded from macro 'SvNV_set'
        STMT_START { \
                   ^
pp.c:3076:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:48: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                             ^
pp.c:3076:9: note: ')' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:449:13: note: expanded from macro 'TARGn'
            SvNV_set(TARG, TARGn_nv);                                   \
            ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1311:50: note: expanded from macro 'SvNV_set'
                (((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3076:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:5: note: expanded from macro 'TARGn'
    } STMT_END
    ^
pp.c:3076:9: note: ')' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:31: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:453:7: note: expanded from macro 'TARGn'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3076:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:55: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3076:9: note: ')' token is here
        SETn(result_nv);
        ^~~~~~~~~~~~~~~
./pp.h:487:57: note: expanded from macro 'SETn'
#define SETn(n)         STMT_START { TARGn(n,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3079:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3079:9: note: '{' token is here
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3079:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3079:9: note: '{' token is here
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:3079:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:3079:9: note: ')' token is here
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3079:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3079:9: note: ')' token is here
        SETu(result_uv);
        ^~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3100:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVf_UTF8 == (HINT_BYTES << 26));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3100:5: note: '{' token is here
    STATIC_ASSERT_STMT(SVf_UTF8 == (HINT_BYTES << 26));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
pp.c:3100:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT(SVf_UTF8 == (HINT_BYTES << 26));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
pp.c:3100:5: note: ')' token is here
    STATIC_ASSERT_STMT(SVf_UTF8 == (HINT_BYTES << 26));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3136:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi((IV)(len), 1);
        ^~~~~~~~~~~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3136:9: note: '{' token is here
        TARGi((IV)(len), 1);
        ^~~~~~~~~~~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:3136:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        TARGi((IV)(len), 1);
        ^~~~~~~~~~~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:3136:9: note: ')' token is here
        TARGi((IV)(len), 1);
        ^~~~~~~~~~~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3142:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3142:13: note: '{' token is here
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3142:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3142:13: note: ')' token is here
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3322:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(TARG);                        /* decontaminate */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3322:6: note: '{' token is here
            SvTAINTED_off(TARG);                        /* decontaminate */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp.c:3322:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_off(TARG);                        /* decontaminate */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp.c:3322:6: note: ')' token is here
            SvTAINTED_off(TARG);                        /* decontaminate */
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3349:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3349:2: note: '{' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3349:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3349:2: note: ')' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3404:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(TARG);            /* decontaminate */
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3404:2: note: '{' token is here
        SvTAINTED_off(TARG);            /* decontaminate */
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp.c:3404:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(TARG);            /* decontaminate */
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp.c:3404:2: note: ')' token is here
        SvTAINTED_off(TARG);            /* decontaminate */
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3410:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(ret);
        ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3410:2: note: '{' token is here
        SvSETMAGIC(ret);
        ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3410:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(ret);
        ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3410:2: note: ')' token is here
        SvSETMAGIC(ret);
        ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3535:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3535:9: note: '{' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp.c:3535:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3535:9: note: '{' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:3535:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:3535:9: note: ')' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3535:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp.c:3535:9: note: ')' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3542:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_off(TARG);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3542:5: note: '{' token is here
    SvTAINTED_off(TARG);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp.c:3542:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_off(TARG);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp.c:3542:5: note: ')' token is here
    SvTAINTED_off(TARG);
    ^~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3546:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3546:5: note: '{' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp.c:3546:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3546:5: note: '{' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3546:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3546:5: note: ')' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3546:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp.c:3546:5: note: ')' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:18: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3558:5: note: '{' token is here
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:29: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                   ^
pp.c:3558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3558:5: note: '{' token is here
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp.c:3558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp.c:3558:5: note: ')' token is here
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:31: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:55: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                             ^
pp.c:3558:5: note: ')' token is here
    SETu(DO_UTF8(argsv)
    ^~~~~~~~~~~~~~~~~~~
./pp.h:489:57: note: expanded from macro 'SETu'
#define SETu(u)         STMT_START { TARGu(u,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3604:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(TARG, tmps - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3604:2: note: '{' token is here
        SvCUR_set(TARG, tmps - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:3604:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(TARG, tmps - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:3604:2: note: ')' token is here
        SvCUR_set(TARG, tmps - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3608:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3608:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:3608:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3608:2: note: '{' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3608:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3608:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3608:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SETTARG;
        ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:3608:2: note: ')' token is here
        SETTARG;
        ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3613:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(TARG, 1);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3613:5: note: '{' token is here
    SvCUR_set(TARG, 1);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:3613:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(TARG, 1);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:3613:5: note: ')' token is here
    SvCUR_set(TARG, 1);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3619:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:3619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3619:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3619:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:3619:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3663:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3663:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:3663:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3663:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:3663:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:3663:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3663:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:3663:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3713:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3713:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
pp.c:3713:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
pp.c:3713:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3974:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3974:3: note: '{' token is here
                SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:3974:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:3974:3: note: ')' token is here
                SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:3980:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:3980:6: note: '{' token is here
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:3980:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:3980:6: note: ')' token is here
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4010:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4010:6: note: '{' token is here
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4010:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4010:6: note: ')' token is here
            SvCUR_set(dest, need - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4016:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4016:9: note: '{' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4016:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4016:9: note: ')' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4020:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4020:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp.c:4020:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4020:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4020:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4020:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4020:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp.c:4020:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4021:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4021:5: note: '{' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:4021:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:4021:5: note: ')' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4080:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4080:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
pp.c:4080:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
pp.c:4080:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4162:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4162:2: note: '{' token is here
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4162:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4162:2: note: ')' token is here
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4289:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4289:7: note: '{' token is here
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4289:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4289:7: note: ')' token is here
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4335:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4335:6: note: '{' token is here
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4335:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4335:6: note: ')' token is here
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4341:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4341:9: note: '{' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4341:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4341:9: note: ')' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4345:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4345:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp.c:4345:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4345:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4345:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4345:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4345:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp.c:4345:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4346:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4346:5: note: '{' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:4346:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:4346:5: note: ')' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4402:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4402:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
pp.c:4402:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
pp.c:4402:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4508:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4508:2: note: '{' token is here
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4508:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4508:2: note: ')' token is here
        SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4550:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4550:6: note: '{' token is here
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4550:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4550:6: note: ')' token is here
            SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4556:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4556:9: note: '{' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4556:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4556:9: note: ')' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4560:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4560:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp.c:4560:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4560:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4560:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4560:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4560:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp.c:4560:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4561:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4561:5: note: '{' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:4561:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:4561:5: note: ')' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4634:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(TARG, d - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4634:2: note: '{' token is here
        SvCUR_set(TARG, d - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4634:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(TARG, d - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4634:2: note: ')' token is here
        SvCUR_set(TARG, d - SvPVX_const(TARG));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4639:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4639:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp.c:4639:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4639:5: note: '{' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:4639:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:4639:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4639:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETTARG;
    ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp.c:4639:5: note: ')' token is here
    SETTARG;
    ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4699:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4699:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
pp.c:4699:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
pp.c:4699:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4794:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4794:21: note: '{' token is here
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4794:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4794:21: note: ')' token is here
                    SvCUR_set(dest, len);
                    ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4831:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4831:5: note: '{' token is here
    SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp.c:4831:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp.c:4831:5: note: ')' token is here
    SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4836:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4836:9: note: '{' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4836:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4836:9: note: ')' token is here
        SvTAINTED_on(dest);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4840:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4840:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp.c:4840:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4840:2: note: '{' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp.c:4840:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp.c:4840:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4840:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp.c:4840:2: note: ')' token is here
        SvTAINT(dest);
        ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4841:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4841:5: note: '{' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:4841:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:4841:5: note: ')' token is here
    SvSETMAGIC(dest);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4928:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4928:5: note: '{' token is here
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:4928:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:4928:5: note: ')' token is here
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4973:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4973:5: note: '{' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:4973:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:4973:5: note: ')' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4993:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4993:2: note: '{' token is here
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp.c:4993:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:4993:2: note: '{' token is here
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:4993:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:4993:2: note: ')' token is here
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:4993:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp.c:4993:2: note: ')' token is here
        PUSHi(av_tindex(array) + 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5007:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, n + 1);
        ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5007:9: note: '{' token is here
        EXTEND(SP, n + 1);
        ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5007:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, n + 1);
        ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5007:9: note: ')' token is here
        EXTEND(SP, n + 1);
        ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5039:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5039:5: note: '{' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5039:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5039:5: note: ')' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5091:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5091:4: note: '{' token is here
                        SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp.c:5091:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp.c:5091:4: note: ')' token is here
                        SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5127:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                           SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5127:7: note: '{' token is here
                           SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp.c:5127:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                           SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp.c:5127:7: note: ')' token is here
                           SvREFCNT_inc_simple_void(sv); /* De-mortalize */
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5186:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP,items);
            ^~~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5186:13: note: '{' token is here
            MEXTEND(SP,items);
            ^~~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:5186:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP,items);
            ^~~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:5186:13: note: ')' token is here
            MEXTEND(SP,items);
            ^~~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5353:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5353:5: note: '{' token is here
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:5353:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:5353:5: note: ')' token is here
    MEXTEND(SP,items);
    ^~~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5394:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);          /* in case no arguments, as in @empty */
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5394:9: note: '{' token is here
        EXTEND(SP, 1);          /* in case no arguments, as in @empty */
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5394:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);          /* in case no arguments, as in @empty */
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5394:9: note: ')' token is here
        EXTEND(SP, 1);          /* in case no arguments, as in @empty */
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5420:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5420:13: note: '{' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5420:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5420:13: note: ')' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5465:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5465:5: note: '{' token is here
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:5465:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5465:5: note: '{' token is here
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5465:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5465:5: note: ')' token is here
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5465:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:5465:5: note: ')' token is here
    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5497:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5497:5: note: '{' token is here
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:5497:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5497:5: note: '{' token is here
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5497:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5497:5: note: ')' token is here
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5497:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:5497:5: note: ')' token is here
    XPUSHs(retval);
    ^~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5584:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(MARK, length);
            ^~~~~~~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5584:6: note: '{' token is here
            MEXTEND(MARK, length);
            ^~~~~~~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp.c:5584:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(MARK, length);
            ^~~~~~~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp.c:5584:6: note: ')' token is here
            MEXTEND(MARK, length);
            ^~~~~~~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5586:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(length);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5586:3: note: '{' token is here
                EXTEND_MORTAL(length);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp.c:5586:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(length);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp.c:5586:3: note: ')' token is here
                EXTEND_MORTAL(length);
                ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5684:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND_MORTAL(length);
                    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5684:7: note: '{' token is here
                    EXTEND_MORTAL(length);
                    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp.c:5684:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND_MORTAL(length);
                    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp.c:5684:7: note: ')' token is here
                    EXTEND_MORTAL(length);
                    ^~~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5726:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5726:2: note: '{' token is here
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp.c:5726:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp.c:5726:2: note: ')' token is here
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5754:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5754:2: note: '{' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp.c:5754:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5754:2: note: '{' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:5754:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:5754:2: note: ')' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5754:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp.c:5754:2: note: ')' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5766:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5766:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5766:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5766:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5782:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5782:2: note: '{' token is here
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp.c:5782:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp.c:5782:2: note: ')' token is here
        PUSHMARK(MARK);
        ^~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5807:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5807:2: note: '{' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp.c:5807:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5807:2: note: '{' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:5807:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:5807:2: note: ')' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5807:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp.c:5807:2: note: ')' token is here
        PUSHi( AvFILL(ary) + 1 );
        ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5904:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5904:6: note: '{' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:5904:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5904:6: note: '{' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:5904:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:5904:6: note: ')' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5904:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:5904:6: note: ')' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:5906:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG); /* remove any utf8 length magic */
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:5906:9: note: '{' token is here
        SvSETMAGIC(TARG); /* remove any utf8 length magic */
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:5906:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG); /* remove any utf8 length magic */
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:5906:9: note: ')' token is here
        SvSETMAGIC(TARG); /* remove any utf8 length magic */
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6017:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6017:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp.c:6017:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp.c:6017:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6018:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6018:6: note: '{' token is here
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6018:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6018:6: note: '{' token is here
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6018:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6018:6: note: ')' token is here
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6018:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6018:6: note: ')' token is here
            XPUSHs(SvTIED_obj(MUTABLE_SV(ary), mg));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6029:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:274:5: note: expanded from macro 'SAVESWITCHSTACK'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6029:6: note: '{' token is here
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:274:16: note: expanded from macro 'SAVESWITCHSTACK'
    STMT_START {                                        \
               ^
pp.c:6029:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:276:2: note: expanded from macro 'SAVESWITCHSTACK'
        SWITCHSTACK((f),(t));                           \
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6029:6: note: '{' token is here
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:276:2: note: expanded from macro 'SAVESWITCHSTACK'
        SWITCHSTACK((f),(t));                           \
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp.c:6029:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:276:2: note: expanded from macro 'SAVESWITCHSTACK'
        SWITCHSTACK((f),(t));                           \
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp.c:6029:6: note: ')' token is here
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:276:2: note: expanded from macro 'SAVESWITCHSTACK'
        SWITCHSTACK((f),(t));                           \
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6029:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:278:5: note: expanded from macro 'SAVESWITCHSTACK'
    } STMT_END
    ^
pp.c:6029:6: note: ')' token is here
            SAVESWITCHSTACK(PL_curstack, ary);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:278:7: note: expanded from macro 'SAVESWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6100:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6100:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6100:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6100:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6100:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6100:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6100:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6100:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6145:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6145:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6145:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6145:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6145:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6145:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6145:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6145:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6164:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6164:3: note: '{' token is here
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6164:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6164:3: note: ')' token is here
                EXTEND(SP, items);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6166:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, sslen);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6166:3: note: '{' token is here
                EXTEND(SP, sslen);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6166:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, sslen);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6166:3: note: ')' token is here
                EXTEND(SP, sslen);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6234:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6234:7: note: '{' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6234:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6234:7: note: '{' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6234:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6234:7: note: ')' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6234:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6234:7: note: ')' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6258:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6258:7: note: '{' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6258:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6258:7: note: '{' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6258:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6258:7: note: ')' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6258:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6258:7: note: ')' token is here
                    XPUSHs(dstr);
                    ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6295:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6295:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6295:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6295:3: note: '{' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6295:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6295:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6295:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6295:3: note: ')' token is here
                XPUSHs(dstr);
                ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6320:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6320:4: note: '{' token is here
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6320:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6320:4: note: '{' token is here
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6320:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6320:4: note: ')' token is here
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6320:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6320:4: note: ')' token is here
                        XPUSHs(dstr);
                        ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6340:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6340:6: note: '{' token is here
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6340:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6340:6: note: '{' token is here
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6340:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6340:6: note: ')' token is here
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6340:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6340:6: note: ')' token is here
            XPUSHs(dstr);
            ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6358:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave); /* may undo an earlier SWITCHSTACK */
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6358:5: note: '{' token is here
    LEAVE_SCOPE(oldsave); /* may undo an earlier SWITCHSTACK */
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp.c:6358:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave); /* may undo an earlier SWITCHSTACK */
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp.c:6358:5: note: ')' token is here
    LEAVE_SCOPE(oldsave); /* may undo an earlier SWITCHSTACK */
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6368:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6368:3: note: '{' token is here
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6368:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6368:3: note: ')' token is here
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6383:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6383:3: note: '{' token is here
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6383:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6383:3: note: ')' token is here
                EXTEND(SP, iters);
                ^~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6398:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6398:5: note: '{' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp.c:6398:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6398:5: note: '{' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp.c:6398:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp.c:6398:5: note: ')' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6398:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6398:5: note: '{' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6398:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6398:5: note: '{' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6398:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6398:5: note: ')' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6398:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6398:5: note: ')' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6398:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp.c:6398:5: note: ')' token is here
    XPUSHi(iters);
    ^~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6513:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6513:5: note: '{' token is here
    EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6513:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6513:5: note: ')' token is here
    EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6656:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6656:5: note: '{' token is here
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6656:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6656:5: note: '{' token is here
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6656:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6656:5: note: ')' token is here
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6656:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6656:5: note: ')' token is here
    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6757:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(left);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6757:2: note: '{' token is here
        SvSETMAGIC(left);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp.c:6757:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(left);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp.c:6757:2: note: ')' token is here
        SvSETMAGIC(left);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6815:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6815:5: note: '{' token is here
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6815:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6815:5: note: '{' token is here
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6815:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6815:5: note: ')' token is here
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6815:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6815:5: note: ')' token is here
    XPUSHs(ret);
    ^~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6870:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6870:2: note: '{' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:6870:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6870:2: note: '{' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:6870:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:6870:2: note: ')' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6870:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:6870:2: note: ')' token is here
        XPUSHs(sv);
        ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:6941:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:6941:9: note: '{' token is here
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
pp.c:6941:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp.c:6941:9: note: '{' token is here
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp.c:6941:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp.c:6941:9: note: ')' token is here
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp.c:6941:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
pp.c:6941:9: note: ')' token is here
        SvSetMagicSV(targ, val);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:7065:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:7065:9: note: '{' token is here
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:7065:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:7065:9: note: '{' token is here
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:7065:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:7065:9: note: ')' token is here
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:7065:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:7065:9: note: ')' token is here
        XPUSHs(val);
        ^~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:7159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:7159:5: note: '{' token is here
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp.c:7159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp.c:7159:5: note: '{' token is here
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp.c:7159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp.c:7159:5: note: ')' token is here
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp.c:7159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp.c:7159:5: note: ')' token is here
    XPUSHs(right);
    ^~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
937 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC scope.c
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from scope.c:27:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
scope.c:130:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
scope.c:130:5: note: '{' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
scope.c:130:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
scope.c:130:5: note: ')' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
scope.c:1407:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SWITCHSTACK(a1.any_av, a0.any_av);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
scope.c:1407:3: note: '{' token is here
                SWITCHSTACK(a1.any_av, a0.any_av);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
scope.c:1407:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SWITCHSTACK(a1.any_av, a0.any_av);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
scope.c:1407:3: note: ')' token is here
                SWITCHSTACK(a1.any_av, a0.any_av);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
scope.c:1451:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        free_and_set_cop_warnings(&PL_compiling, (STRLEN*) a0.any_ptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
scope.c:1451:9: note: '{' token is here
        free_and_set_cop_warnings(&PL_compiling, (STRLEN*) a0.any_ptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
scope.c:1451:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        free_and_set_cop_warnings(&PL_compiling, (STRLEN*) a0.any_ptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
scope.c:1451:9: note: ')' token is here
        free_and_set_cop_warnings(&PL_compiling, (STRLEN*) a0.any_ptr);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
104 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp_ctl.c
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp_ctl.c:35:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:53:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:53:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:53:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:53:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:159:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PM_SETRE(pm, new_re);
        ^~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:159:2: note: '{' token is here
        PM_SETRE(pm, new_re);
        ^~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
pp_ctl.c:159:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PM_SETRE(pm, new_re);
        ^~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
pp_ctl.c:159:2: note: ')' token is here
        PM_SETRE(pm, new_re);
        ^~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:165:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on((SV*)new_re);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:165:2: note: '{' token is here
        SvTAINTED_on((SV*)new_re);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:165:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on((SV*)new_re);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:165:2: note: ')' token is here
        SvTAINTED_on((SV*)new_re);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:209:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PM_SETRE(pm,ReREFCNT_inc(rx));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:209:2: note: '{' token is here
        PM_SETRE(pm,ReREFCNT_inc(rx));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
pp_ctl.c:209:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PM_SETRE(pm,ReREFCNT_inc(rx));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
pp_ctl.c:209:2: note: ')' token is here
        PM_SETRE(pm,ReREFCNT_inc(rx));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:235:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                      sv_catpvn_nomg_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2045:2: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:235:9: note: '{' token is here
                      sv_catpvn_nomg_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2045:13: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        STMT_START {                                    \
                   ^
pp_ctl.c:235:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                      sv_catpvn_nomg_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2053:2: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        } STMT_END
        ^
pp_ctl.c:235:9: note: ')' token is here
                      sv_catpvn_nomg_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2053:4: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:251:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1368:5: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:251:3: note: '{' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1368:16: note: expanded from macro 'SvPV_free'
    STMT_START {                                                        \
               ^
pp_ctl.c:251:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:36: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:251:3: note: '{' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2331:47: note: expanded from macro 'SvOOK_offset'
#  define SvOOK_offset(sv, offset) STMT_START {                         \
                                              ^
pp_ctl.c:251:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:5: note: expanded from macro 'SvOOK_offset'
    } STMT_END
    ^
pp_ctl.c:251:3: note: ')' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1374:9: note: expanded from macro 'SvPV_free'
                             SvOOK_offset(sv, zok);                     \
                             ^~~~~~~~~~~~~~~~~~~~~
./sv.h:2342:7: note: expanded from macro 'SvOOK_offset'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:251:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:251:3: note: '{' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_ctl.c:251:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_ctl.c:251:3: note: ')' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1375:9: note: expanded from macro 'SvPV_free'
                             SvPV_set(sv, SvPVX_mutable(sv) - zok);     \
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:251:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1380:4: note: expanded from macro 'SvPV_free'
                 } STMT_END
                 ^
pp_ctl.c:251:3: note: ')' token is here
                SvPV_free(targ);
                ^~~~~~~~~~~~~~~
./sv.h:1380:6: note: expanded from macro 'SvPV_free'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:252:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(targ, SvPVX(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:252:3: note: '{' token is here
                SvPV_set(targ, SvPVX(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_ctl.c:252:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(targ, SvPVX(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_ctl.c:252:3: note: ')' token is here
                SvPV_set(targ, SvPVX(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:253:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(targ, SvCUR(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:253:3: note: '{' token is here
                SvCUR_set(targ, SvCUR(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:253:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(targ, SvCUR(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:253:3: note: ')' token is here
                SvCUR_set(targ, SvCUR(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:254:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(targ, SvLEN(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:254:3: note: '{' token is here
                SvLEN_set(targ, SvLEN(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_ctl.c:254:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvLEN_set(targ, SvLEN(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_ctl.c:254:3: note: ')' token is here
                SvLEN_set(targ, SvLEN(dstr));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:257:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, NULL);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:257:3: note: '{' token is here
                SvPV_set(dstr, NULL);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_ctl.c:257:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvPV_set(dstr, NULL);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_ctl.c:257:3: note: ')' token is here
                SvPV_set(dstr, NULL);
                ^~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:278:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINTED_on(TOPs);  /* taint return value */
                    ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:278:7: note: '{' token is here
                    SvTAINTED_on(TOPs);  /* taint return value */
                    ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:278:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvTAINTED_on(TOPs);  /* taint return value */
                    ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:278:7: note: ')' token is here
                    SvTAINTED_on(TOPs);  /* taint return value */
                    ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:302:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:302:3: note: '{' token is here
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp_ctl.c:302:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:302:3: note: '{' token is here
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:302:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:302:3: note: ')' token is here
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:302:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp_ctl.c:302:3: note: ')' token is here
                SvTAINT(TARG);
                ^~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:305:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:305:6: note: '{' token is here
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_ctl.c:305:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_ctl.c:305:6: note: ')' token is here
            SvSETMAGIC(TARG);
            ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:308:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:308:6: note: '{' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:308:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:308:6: note: ')' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:309:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:865:5: note: expanded from macro 'CX_POPSUBST'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:309:6: note: '{' token is here
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:865:16: note: expanded from macro 'CX_POPSUBST'
    STMT_START {                                                        \
               ^
pp_ctl.c:309:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:873:5: note: expanded from macro 'CX_POPSUBST'
    } STMT_END
    ^
pp_ctl.c:309:6: note: ')' token is here
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:873:7: note: expanded from macro 'CX_POPSUBST'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:329:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sv_catpvn_nomg_utf8_upgrade(dstr, s, m - s, nsv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2045:2: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:329:6: note: '{' token is here
            sv_catpvn_nomg_utf8_upgrade(dstr, s, m - s, nsv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2045:13: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        STMT_START {                                    \
                   ^
pp_ctl.c:329:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            sv_catpvn_nomg_utf8_upgrade(dstr, s, m - s, nsv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2053:2: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        } STMT_END
        ^
pp_ctl.c:329:6: note: ')' token is here
            sv_catpvn_nomg_utf8_upgrade(dstr, s, m - s, nsv);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2053:4: note: expanded from macro 'sv_catpvn_nomg_utf8_upgrade'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:367:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on((pm->op_pmflags & PMf_NONDESTRUCT)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:367:6: note: '{' token is here
            SvTAINTED_on((pm->op_pmflags & PMf_NONDESTRUCT)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:367:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on((pm->op_pmflags & PMf_NONDESTRUCT)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:367:6: note: ')' token is here
            SvTAINTED_on((pm->op_pmflags & PMf_NONDESTRUCT)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:427:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:2: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:427:5: note: '{' token is here
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:13: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
                   ^
pp_ctl.c:427:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:3: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
         ^
pp_ctl.c:427:5: note: ')' token is here
    RX_MATCH_COPY_FREE(rx);
    ^~~~~~~~~~~~~~~~~~~~~~
./regexp.h:576:41: note: expanded from macro 'RX_MATCH_COPY_FREE'
#define RX_MATCH_COPY_FREE(rx_sv)       RXp_MATCH_COPY_FREE(ReANY(rx_sv))
                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:5: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:524:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(PL_formtarget);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:524:2: note: '{' token is here
        SvTAINTED_on(PL_formtarget);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:524:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(PL_formtarget);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:524:2: note: ')' token is here
        SvTAINTED_on(PL_formtarget);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:596:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(PL_formtarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:596:3: note: '{' token is here
                SvTAINTED_on(PL_formtarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_ctl.c:596:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(PL_formtarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_ctl.c:596:3: note: ')' token is here
                SvTAINTED_on(PL_formtarget);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:739:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:739:3: note: '{' token is here
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_ctl.c:739:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_ctl.c:739:3: note: ')' token is here
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:786:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget,
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:786:3: note: '{' token is here
                SvCUR_set(PL_formtarget,
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:786:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget,
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:786:3: note: ')' token is here
                SvCUR_set(PL_formtarget,
                ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:841:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:841:3: note: '{' token is here
                SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:841:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:841:3: note: ')' token is here
                SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:880:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STORE_LC_NUMERIC_SET_TO_NEEDED();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:880:17: note: '{' token is here
                STORE_LC_NUMERIC_SET_TO_NEEDED();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
pp_ctl.c:880:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STORE_LC_NUMERIC_SET_TO_NEEDED();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
pp_ctl.c:880:17: note: ')' token is here
                STORE_LC_NUMERIC_SET_TO_NEEDED();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:894:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                len = my_snprintf(t, max, fmt, (int) fieldsize, (int) arg, value);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:894:23: note: '{' token is here
                len = my_snprintf(t, max, fmt, (int) fieldsize, (int) arg, value);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
pp_ctl.c:894:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                len = my_snprintf(t, max, fmt, (int) fieldsize, (int) arg, value);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
pp_ctl.c:894:23: note: ')' token is here
                len = my_snprintf(t, max, fmt, (int) fieldsize, (int) arg, value);
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:898:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:898:17: note: '{' token is here
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
pp_ctl.c:898:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
pp_ctl.c:898:17: note: ')' token is here
                RESTORE_LC_NUMERIC();
                ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:956:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:956:6: note: '{' token is here
            SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:956:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:956:6: note: ')' token is here
            SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:978:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:978:6: note: '{' token is here
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:978:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:978:6: note: '{' token is here
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:978:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:978:6: note: ')' token is here
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:978:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:978:6: note: ')' token is here
            XPUSHs(&PL_sv_zero);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1046:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP,shift);
            ^~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1046:6: note: '{' token is here
            EXTEND(SP,shift);
            ^~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1046:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP,shift);
            ^~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1046:6: note: ')' token is here
            EXTEND(SP,shift);
            ^~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1070:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(items);
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1070:6: note: '{' token is here
            EXTEND_MORTAL(items);
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_ctl.c:1070:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND_MORTAL(items);
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_ctl.c:1070:6: note: ')' token is here
            EXTEND_MORTAL(items);
            ^~~~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1120:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1120:3: note: '{' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_ctl.c:1120:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1120:3: note: '{' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_ctl.c:1120:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_ctl.c:1120:3: note: ')' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1120:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1120:3: note: '{' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:1120:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1120:3: note: '{' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1120:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1120:3: note: ')' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1120:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:1120:3: note: ')' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1120:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_ctl.c:1120:3: note: ')' token is here
                XPUSHi(items);
                ^~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1252:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(n);
                ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1252:3: note: '{' token is here
                EXTEND_MORTAL(n);
                ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_ctl.c:1252:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(n);
                ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_ctl.c:1252:3: note: ')' token is here
                EXTEND_MORTAL(n);
                ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1253:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, n);
                ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1253:3: note: '{' token is here
                EXTEND(SP, n);
                ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1253:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, n);
                ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1253:3: note: ')' token is here
                EXTEND(SP, n);
                ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1273:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1273:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:1273:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1273:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1273:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1273:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1273:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:1273:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1231:27: warning: implicit conversion from 'IV' (aka 'long') to 'double' changes value from 9223372036854775807 to 9223372036854775808 [-Wimplicit-const-int-float-conversion]
                                 : SvNV_nomg(right) > IV_MAX)))
                                                    ~ ^~~~~~
./perl.h:1916:20: note: expanded from macro 'IV_MAX'
#    define IV_MAX PERL_QUAD_MAX
                   ^~~~~~~~~~~~~
./perl.h:2606:29: note: expanded from macro 'PERL_QUAD_MAX'
#    define PERL_QUAD_MAX       ((IV) (PERL_UQUAD_MAX >> 1))
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:1577:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1577:9: note: '{' token is here
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:1577:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:1577:9: note: ')' token is here
        CX_LEAVE_SCOPE(cx);
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1581:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:865:5: note: expanded from macro 'CX_POPSUBST'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1581:6: note: '{' token is here
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:865:16: note: expanded from macro 'CX_POPSUBST'
    STMT_START {                                                        \
               ^
pp_ctl.c:1581:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:873:5: note: expanded from macro 'CX_POPSUBST'
    } STMT_END
    ^
pp_ctl.c:1581:6: note: ')' token is here
            CX_POPSUBST(cx);
            ^~~~~~~~~~~~~~~
./cop.h:873:7: note: expanded from macro 'CX_POPSUBST'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1660:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1660:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:1660:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:1660:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1757:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SANE_ERRSV();
            ^~~~~~~~~~~~
./perl.h:1545:22: note: expanded from macro 'SANE_ERRSV'
#define SANE_ERRSV() STMT_START {                                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1757:13: note: '{' token is here
            SANE_ERRSV();
            ^~~~~~~~~~~~
./perl.h:1545:33: note: expanded from macro 'SANE_ERRSV'
#define SANE_ERRSV() STMT_START {                                       \
                                ^
pp_ctl.c:1757:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SANE_ERRSV();
            ^~~~~~~~~~~~
./perl.h:1559:5: note: expanded from macro 'SANE_ERRSV'
    } STMT_END
    ^
pp_ctl.c:1757:13: note: ')' token is here
            SANE_ERRSV();
            ^~~~~~~~~~~~
./perl.h:1559:7: note: expanded from macro 'SANE_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1771:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1771:6: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
pp_ctl.c:1771:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1771:6: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_ctl.c:1771:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_ctl.c:1771:6: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1771:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
pp_ctl.c:1771:6: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1823:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SANE_ERRSV();
                ^~~~~~~~~~~~
./perl.h:1545:22: note: expanded from macro 'SANE_ERRSV'
#define SANE_ERRSV() STMT_START {                                       \
                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1823:17: note: '{' token is here
                SANE_ERRSV();
                ^~~~~~~~~~~~
./perl.h:1545:33: note: expanded from macro 'SANE_ERRSV'
#define SANE_ERRSV() STMT_START {                                       \
                                ^
pp_ctl.c:1823:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SANE_ERRSV();
                ^~~~~~~~~~~~
./perl.h:1559:5: note: expanded from macro 'SANE_ERRSV'
    } STMT_END
    ^
pp_ctl.c:1823:17: note: ')' token is here
                SANE_ERRSV();
                ^~~~~~~~~~~~
./perl.h:1559:7: note: expanded from macro 'SANE_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1828:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_JUMP(3);
            ^~~~~~~~~~~~~~
./cop.h:143:5: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1828:6: note: '{' token is here
            JMPENV_JUMP(3);
            ^~~~~~~~~~~~~~
./cop.h:143:16: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
               ^
pp_ctl.c:1828:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            JMPENV_JUMP(3);
            ^~~~~~~~~~~~~~
./cop.h:155:5: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
    ^
pp_ctl.c:1828:6: note: ')' token is here
            JMPENV_JUMP(3);
            ^~~~~~~~~~~~~~
./cop.h:155:7: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1930:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1930:6: note: '{' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1930:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1930:6: note: ')' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1942:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1942:9: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1942:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1942:9: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1953:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 11);
    ^~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1953:5: note: '{' token is here
    EXTEND(SP, 11);
    ^~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:1953:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 11);
    ^~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:1953:5: note: ')' token is here
    EXTEND(SP, 11);
    ^~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1960:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1960:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_ctl.c:1960:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:1960:2: note: '{' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_ctl.c:1960:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_ctl.c:1960:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:1960:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_ctl.c:1960:2: note: ')' token is here
        PUSHTARG;
        ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2067:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2067:9: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:2067:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:2067:9: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2111:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:260:5: note: expanded from macro 'SAVESTACK_POS'
    STMT_START {                                   \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2111:13: note: '{' token is here
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:260:16: note: expanded from macro 'SAVESTACK_POS'
    STMT_START {                                   \
               ^
pp_ctl.c:2111:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:265:5: note: expanded from macro 'SAVESTACK_POS'
    } STMT_END
    ^
pp_ctl.c:2111:13: note: ')' token is here
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:265:7: note: expanded from macro 'SAVESTACK_POS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2113:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2113:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:2113:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:2113:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2129:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:260:5: note: expanded from macro 'SAVESTACK_POS'
    STMT_START {                                   \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2129:13: note: '{' token is here
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:260:16: note: expanded from macro 'SAVESTACK_POS'
    STMT_START {                                   \
               ^
pp_ctl.c:2129:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:265:5: note: expanded from macro 'SAVESTACK_POS'
    } STMT_END
    ^
pp_ctl.c:2129:13: note: ')' token is here
            SAVESTACK_POS();
            ^~~~~~~~~~~~~~~
./scope.h:265:7: note: expanded from macro 'SAVESTACK_POS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2173:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2173:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2173:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2173:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2229:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(itersave);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2229:13: note: '{' token is here
            SvREFCNT_inc_simple_void(itersave);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_ctl.c:2229:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(itersave);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_ctl.c:2229:13: note: ')' token is here
            SvREFCNT_inc_simple_void(itersave);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2313:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2313:9: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:2313:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:2313:9: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2351:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2351:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2351:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2351:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2460:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2460:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2460:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2460:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2640:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2640:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2640:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2640:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2678:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2678:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2678:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2678:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2864:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(cv); /* avoid premature free during unwind */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2864:6: note: '{' token is here
            SvREFCNT_inc_simple_void(cv); /* avoid premature free during unwind */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_ctl.c:2864:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(cv); /* avoid premature free during unwind */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_ctl.c:2864:6: note: ')' token is here
            SvREFCNT_inc_simple_void(cv); /* avoid premature free during unwind */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2878:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2878:13: note: '{' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:2878:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:2878:13: note: ')' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2895:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                else CLEAR_ARGARRAY(av);
                     ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2895:8: note: '{' token is here
                else CLEAR_ARGARRAY(av);
                     ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
pp_ctl.c:2895:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                else CLEAR_ARGARRAY(av);
                     ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
pp_ctl.c:2895:8: note: ')' token is here
                else CLEAR_ARGARRAY(av);
                     ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2934:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, items+1); /* @_ could have been extended. */
                    ^~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2934:7: note: '{' token is here
                    EXTEND(SP, items+1); /* @_ could have been extended. */
                    ^~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:2934:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, items+1); /* @_ could have been extended. */
                    ^~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:2934:7: note: ')' token is here
                    EXTEND(SP, items+1); /* @_ could have been extended. */
                    ^~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2956:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    CX_POP_SAVEARRAY(cx);
                    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2956:21: note: '{' token is here
                    CX_POP_SAVEARRAY(cx);
                    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
pp_ctl.c:2956:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    CX_POP_SAVEARRAY(cx);
                    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
pp_ctl.c:2956:21: note: ')' token is here
                    CX_POP_SAVEARRAY(cx);
                    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:2973:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(mark);
                ^~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:2973:3: note: '{' token is here
                PUSHMARK(mark);
                ^~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:2973:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(mark);
                ^~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:2973:3: note: ')' token is here
                PUSHMARK(mark);
                ^~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3025:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            PUSHMARK( PL_stack_sp );
                            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3025:8: note: '{' token is here
                            PUSHMARK( PL_stack_sp );
                            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:3025:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            PUSHMARK( PL_stack_sp );
                            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:3025:8: note: ')' token is here
                            PUSHMARK( PL_stack_sp );
                            ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3277:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3277:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
pp_ctl.c:3277:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
pp_ctl.c:3277:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3294:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3294:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
pp_ctl.c:3294:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
pp_ctl.c:3294:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3296:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:143:5: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3296:2: note: '{' token is here
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:143:16: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
               ^
pp_ctl.c:3296:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:155:5: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
    ^
pp_ctl.c:3296:2: note: ')' token is here
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:155:7: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3299:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3299:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
pp_ctl.c:3299:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
pp_ctl.c:3299:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3385:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:5: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3385:5: note: '{' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:114:16: note: expanded from macro 'JMPENV_PUSH'
    STMT_START {                                                        \
               ^
pp_ctl.c:3385:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:5: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
    ^
pp_ctl.c:3385:5: note: ')' token is here
    JMPENV_PUSH(ret);
    ^~~~~~~~~~~~~~~~
./cop.h:128:7: note: expanded from macro 'JMPENV_PUSH'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3393:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3393:2: note: '{' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
pp_ctl.c:3393:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
pp_ctl.c:3393:2: note: ')' token is here
        JMPENV_POP;
        ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3394:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:143:5: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3394:2: note: '{' token is here
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:143:16: note: expanded from macro 'JMPENV_JUMP'
    STMT_START {                                                \
               ^
pp_ctl.c:3394:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:155:5: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
    ^
pp_ctl.c:3394:2: note: ')' token is here
        JMPENV_JUMP(ret);
        ^~~~~~~~~~~~~~~~
./cop.h:155:7: note: expanded from macro 'JMPENV_JUMP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3397:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:5: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3397:5: note: '{' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:131:16: note: expanded from macro 'JMPENV_POP'
    STMT_START {                                                        \
               ^
pp_ctl.c:3397:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:5: note: expanded from macro 'JMPENV_POP'
    } STMT_END
    ^
pp_ctl.c:3397:5: note: ')' token is here
    JMPENV_POP;
    ^~~~~~~~~~
./cop.h:140:7: note: expanded from macro 'JMPENV_POP'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3433:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3433:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:3433:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:3433:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3459:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(PL_curstash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3459:6: note: '{' token is here
            SvREFCNT_inc_simple_void(PL_curstash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_ctl.c:3459:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvREFCNT_inc_simple_void(PL_curstash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_ctl.c:3459:6: note: ')' token is here
            SvREFCNT_inc_simple_void(PL_curstash);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3484:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3484:2: note: '{' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:3484:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:3484:2: note: ')' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3508:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FETCHFEATUREBITSHH(hh);
            ^~~~~~~~~~~~~~~~~~~~~~
./feature.h:170:3: note: expanded from macro 'FETCHFEATUREBITSHH'
  STMT_START {                                              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3508:13: note: '{' token is here
            FETCHFEATUREBITSHH(hh);
            ^~~~~~~~~~~~~~~~~~~~~~
./feature.h:170:14: note: expanded from macro 'FETCHFEATUREBITSHH'
  STMT_START {                                              \
             ^
pp_ctl.c:3508:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FETCHFEATUREBITSHH(hh);
            ^~~~~~~~~~~~~~~~~~~~~~
./feature.h:173:3: note: expanded from macro 'FETCHFEATUREBITSHH'
  } STMT_END
  ^
pp_ctl.c:3508:13: note: ')' token is here
            FETCHFEATUREBITSHH(hh);
            ^~~~~~~~~~~~~~~~~~~~~~
./feature.h:173:5: note: expanded from macro 'FETCHFEATUREBITSHH'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3537:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_eval, saveop);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3537:5: note: '{' token is here
    CALL_BLOCK_HOOKS(bhk_eval, saveop);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:814:16: note: expanded from macro 'CALL_BLOCK_HOOKS'
    STMT_START { \
               ^
pp_ctl.c:3537:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CALL_BLOCK_HOOKS(bhk_eval, saveop);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:5: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
    ^
pp_ctl.c:3537:5: note: ')' token is here
    CALL_BLOCK_HOOKS(bhk_eval, saveop);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:831:7: note: expanded from macro 'CALL_BLOCK_HOOKS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3585:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SAVEFREEOP(PL_eval_root);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3585:5: note: '{' token is here
    SAVEFREEOP(PL_eval_root);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
pp_ctl.c:3585:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SAVEFREEOP(PL_eval_root);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
pp_ctl.c:3585:5: note: ')' token is here
    SAVEFREEOP(PL_eval_root);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3595:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3595:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:3595:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:3595:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3596:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3596:6: note: '{' token is here
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:3596:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3596:6: note: '{' token is here
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:3596:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:3596:6: note: ')' token is here
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3596:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:3596:6: note: ')' token is here
            XPUSHs(MUTABLE_SV(CopFILEGV(&PL_compiling)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3714:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(pmcsv,name);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3714:2: note: '{' token is here
        SvSetSV_nosteal(pmcsv,name);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
pp_ctl.c:3714:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(pmcsv,name);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
pp_ctl.c:3714:2: note: ')' token is here
        SvSetSV_nosteal(pmcsv,name);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:3874:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:3874:13: note: '{' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:3874:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:3874:13: note: ')' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4020:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvSetSV_nosteal(nsv,sv);
                        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4020:4: note: '{' token is here
                        SvSetSV_nosteal(nsv,sv);
                        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
pp_ctl.c:4020:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvSetSV_nosteal(nsv,sv);
                        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
pp_ctl.c:4020:4: note: ')' token is here
                        SvSetSV_nosteal(nsv,sv);
                        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4025:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, 2);
                    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4025:7: note: '{' token is here
                    EXTEND(SP, 2);
                    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:4025:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, 2);
                    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:4025:7: note: ')' token is here
                    EXTEND(SP, 2);
                    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4027:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4027:7: note: '{' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:4027:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:4027:7: note: ')' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4087:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvREFCNT_inc_simple_void(filter_state);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4087:5: note: '{' token is here
                                SvREFCNT_inc_simple_void(filter_state);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_ctl.c:4087:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                                SvREFCNT_inc_simple_void(filter_state);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_ctl.c:4087:5: note: ')' token is here
                                SvREFCNT_inc_simple_void(filter_state);
                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4099:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvREFCNT_inc_simple_void(filter_cache);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:38: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4099:7: note: '{' token is here
                    SvREFCNT_inc_simple_void(filter_cache);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:49: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                   ^
pp_ctl.c:4099:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvREFCNT_inc_simple_void(filter_cache);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:75: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                             ^
pp_ctl.c:4099:7: note: ')' token is here
                    SvREFCNT_inc_simple_void(filter_cache);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:346:77: note: expanded from macro 'SvREFCNT_inc_simple_void'
#define SvREFCNT_inc_simple_void(sv)    STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4188:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(namesv, dirlen + len + 1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4188:4: note: '{' token is here
                        SvCUR_set(namesv, dirlen + len + 1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:4188:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(namesv, dirlen + len + 1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:4188:4: note: ')' token is here
                        SvCUR_set(namesv, dirlen + len + 1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4316:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4316:13: note: '{' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:4316:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:4316:13: note: ')' token is here
            CLEAR_ERRSV();
            ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4382:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_require);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:5: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4382:5: note: '{' token is here
    RUN_PP_CATCHABLY(Perl_pp_require);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:16: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
               ^
pp_ctl.c:4382:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_require);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:57: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                        ^
pp_ctl.c:4382:5: note: ')' token is here
    RUN_PP_CATCHABLY(Perl_pp_require);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:59: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4403:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4403:5: note: '{' token is here
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:4403:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4403:5: note: '{' token is here
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:4403:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:4403:5: note: ')' token is here
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4403:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:4403:5: note: ')' token is here
    mXPUSHs(MUTABLE_SV(hv_copy_hints_hv(MUTABLE_HV(cSVOP_sv))));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4425:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_entereval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:5: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4425:5: note: '{' token is here
    RUN_PP_CATCHABLY(Perl_pp_entereval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:16: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
               ^
pp_ctl.c:4425:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_entereval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:57: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                        ^
pp_ctl.c:4425:5: note: ')' token is here
    RUN_PP_CATCHABLY(Perl_pp_entereval);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:59: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4490:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        len = my_snprintf(tmpbuf, sizeof(tbuf), "_<(eval %lu)", (unsigned long)++PL_evalseq);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4490:8: note: '{' token is here
        len = my_snprintf(tmpbuf, sizeof(tbuf), "_<(eval %lu)", (unsigned long)++PL_evalseq);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
pp_ctl.c:4490:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        len = my_snprintf(tmpbuf, sizeof(tbuf), "_<(eval %lu)", (unsigned long)++PL_evalseq);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
pp_ctl.c:4490:8: note: ')' token is here
        len = my_snprintf(tmpbuf, sizeof(tbuf), "_<(eval %lu)", (unsigned long)++PL_evalseq);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4603:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4603:9: note: '{' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:4603:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:4603:9: note: ')' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4616:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4616:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:4616:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:4616:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4638:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4638:2: note: '{' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:4638:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:4638:2: note: ')' token is here
        CLEAR_ERRSV();
        ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4646:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_entertry);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:5: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4646:5: note: '{' token is here
    RUN_PP_CATCHABLY(Perl_pp_entertry);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:16: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
               ^
pp_ctl.c:4646:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RUN_PP_CATCHABLY(Perl_pp_entertry);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:57: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                        ^
pp_ctl.c:4646:5: note: ')' token is here
    RUN_PP_CATCHABLY(Perl_pp_entertry);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_ctl.c:39:59: note: expanded from macro 'RUN_PP_CATCHABLY'
    STMT_START { if (CATCH_GET) return docatch(thispp); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4677:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4677:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:4677:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:4677:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4683:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1527:23: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4683:5: note: '{' token is here
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1527:34: note: expanded from macro 'CLEAR_ERRSV'
#define CLEAR_ERRSV() STMT_START {                                      \
                                 ^
pp_ctl.c:4683:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1542:5: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
    ^
pp_ctl.c:4683:5: note: ')' token is here
    CLEAR_ERRSV();
    ^~~~~~~~~~~~~
./perl.h:1542:7: note: expanded from macro 'CLEAR_ERRSV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4721:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4721:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:4721:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:4721:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4737:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PM_SETRE(matcher, ReREFCNT_inc(re));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4737:5: note: '{' token is here
    PM_SETRE(matcher, ReREFCNT_inc(re));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
pp_ctl.c:4737:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PM_SETRE(matcher, ReREFCNT_inc(re));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
pp_ctl.c:4737:5: note: ')' token is here
    PM_SETRE(matcher, ReREFCNT_inc(re));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4739:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SAVEFREEOP((OP *) matcher);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4739:5: note: '{' token is here
    SAVEFREEOP((OP *) matcher);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
pp_ctl.c:4739:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SAVEFREEOP((OP *) matcher);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
pp_ctl.c:4739:5: note: ')' token is here
    SAVEFREEOP((OP *) matcher);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:239:23: note: expanded from macro 'SAVEFREEOP'
#define SAVEFREEOP(o)   save_freeop((OP*)(o))
                        ^~~~~~~~~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4754:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4754:5: note: '{' token is here
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_ctl.c:4754:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4754:5: note: '{' token is here
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:4754:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:4754:5: note: ')' token is here
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4754:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_ctl.c:4754:5: note: ')' token is here
    XPUSHs(sv);
    ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4860:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4860:3: note: '{' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:4860:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:4860:3: note: ')' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4891:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4891:3: note: '{' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:4891:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:4891:3: note: ')' token is here
                PUSHMARK(SP);
                ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:4914:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:4914:6: note: '{' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:4914:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:4914:6: note: ')' token is here
            PUSHMARK(SP);
            ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:5347:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:5347:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_ctl.c:5347:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_ctl.c:5347:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:5743:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:5743:2: note: '{' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_ctl.c:5743:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_ctl.c:5743:2: note: ')' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:5746:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:5746:2: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_ctl.c:5746:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_ctl.c:5746:2: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_ctl.c:5810:23: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        if (SvPOK(upstream)) SvCUR_set(upstream, got_len - cached_len);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_ctl.c:5810:23: note: '{' token is here
        if (SvPOK(upstream)) SvCUR_set(upstream, got_len - cached_len);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_ctl.c:5810:23: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        if (SvPOK(upstream)) SvCUR_set(upstream, got_len - cached_len);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_ctl.c:5810:23: note: ')' token is here
        if (SvPOK(upstream)) SvCUR_set(upstream, got_len - cached_len);
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
343 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp_sys.c
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp_sys.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:313:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:313:6: note: '{' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:313:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:313:6: note: '{' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:313:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:313:6: note: ')' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:313:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:313:6: note: ')' token is here
            XPUSHs(TARG);
            ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:314:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(TARG);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:314:6: note: '{' token is here
            SvTAINTED_on(TARG);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:314:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(TARG);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:314:6: note: ')' token is here
            SvTAINTED_on(TARG);
            ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:323:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:323:3: note: '{' token is here
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:323:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:323:3: note: '{' token is here
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:323:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:323:3: note: ')' token is here
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:323:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:323:3: note: ')' token is here
                mXPUSHs(sv);
                ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:325:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:32: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:325:7: note: '{' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1362:43: note: expanded from macro 'SvPV_shrink_to_cur'
#define SvPV_shrink_to_cur(sv) STMT_START { \
                                          ^
pp_sys.c:325:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:2: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:325:7: note: '{' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:13: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                   ^
pp_sys.c:325:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:325:7: note: '{' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_sys.c:325:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_sys.c:325:7: note: ')' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1356:15: note: expanded from macro 'SvPV_renew'
        STMT_START { SvLEN_set(sv, n); \
                     ^~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:325:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:325:7: note: '{' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_sys.c:325:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_sys.c:325:7: note: ')' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1357:3: note: expanded from macro 'SvPV_renew'
                SvPV_set((sv), (MEM_WRAP_CHECK_(n,char)                 \
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:325:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:4: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                 ^
pp_sys.c:325:7: note: ')' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1364:6: note: expanded from macro 'SvPV_shrink_to_cur'
                   SvPV_renew(sv, _lEnGtH); \
                   ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1360:6: note: expanded from macro 'SvPV_renew'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:325:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:4: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                 ^
pp_sys.c:325:7: note: ')' token is here
                    SvPV_shrink_to_cur(sv);
                    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1365:6: note: expanded from macro 'SvPV_shrink_to_cur'
                 } STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:327:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(sv);
                ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:327:3: note: '{' token is here
                SvTAINTED_on(sv);
                ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:327:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvTAINTED_on(sv);
                ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:327:3: note: ')' token is here
                SvTAINTED_on(sv);
                ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:330:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_NATIVE_CHILD_SET(PerlProc_pclose(fp));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:330:2: note: '{' token is here
        STATUS_NATIVE_CHILD_SET(PerlProc_pclose(fp));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:330:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_NATIVE_CHILD_SET(PerlProc_pclose(fp));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:330:2: note: ')' token is here
        STATUS_NATIVE_CHILD_SET(PerlProc_pclose(fp));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:334:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_NATIVE_CHILD_SET(-1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:334:2: note: '{' token is here
        STATUS_NATIVE_CHILD_SET(-1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:334:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STATUS_NATIVE_CHILD_SET(-1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:334:2: note: ')' token is here
        STATUS_NATIVE_CHILD_SET(-1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:354:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:584:5: note: expanded from macro 'tryAMAGICunTARGETlist'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:354:5: note: '{' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:584:16: note: expanded from macro 'tryAMAGICunTARGETlist'
    STMT_START {                                                \
               ^
pp_sys.c:354:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:354:5: note: '{' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:354:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:354:5: note: ')' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:604:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                EXTEND(sp, len);                                \
                ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:354:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:18: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:354:5: note: '{' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:29: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:354:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:354:5: note: '{' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:354:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:354:5: note: ')' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:31: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:354:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:61: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                   ^
pp_sys.c:354:5: note: ')' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:613:17: note: expanded from macro 'tryAMAGICunTARGETlist'
                SETTARG;                                        \
                ^~~~~~~
./pp.h:485:63: note: expanded from macro 'SETTARG'
#define SETTARG         STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END
                                                                     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:354:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:626:5: note: expanded from macro 'tryAMAGICunTARGETlist'
    } STMT_END
    ^
pp_sys.c:354:5: note: ')' token is here
    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:626:7: note: expanded from macro 'tryAMAGICunTARGETlist'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:420:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MEXTEND(SP, 1);
        ^~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:420:2: note: '{' token is here
        MEXTEND(SP, 1);
        ^~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp_sys.c:420:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MEXTEND(SP, 1);
        ^~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp_sys.c:420:2: note: ')' token is here
        MEXTEND(SP, 1);
        ^~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:489:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, 3);
                    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:489:7: note: '{' token is here
                    EXTEND(SP, 3);
                    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:489:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    EXTEND(SP, 3);
                    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:489:7: note: ')' token is here
                    EXTEND(SP, 3);
                    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:490:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:490:7: note: '{' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:490:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:490:7: note: ')' token is here
                    PUSHMARK(SP);
                    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:527:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_MORTALIZE_NOT_NEEDED & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:527:5: note: '{' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_MORTALIZE_NOT_NEEDED & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
pp_sys.c:527:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_MORTALIZE_NOT_NEEDED & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
pp_sys.c:527:5: note: ')' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_MORTALIZE_NOT_NEEDED & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:528:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_ARGUMENTS_ON_STACK & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:528:5: note: '{' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_ARGUMENTS_ON_STACK & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
pp_sys.c:528:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_ARGUMENTS_ON_STACK & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
pp_sys.c:528:5: note: ')' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_ARGUMENTS_ON_STACK & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:529:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_SAY & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:39: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:529:5: note: '{' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_SAY & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:50: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                 ^
pp_sys.c:529:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATIC_ASSERT_STMT((TIED_METHOD_SAY & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:78: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                             ^
pp_sys.c:529:5: note: ')' token is here
    STATIC_ASSERT_STMT((TIED_METHOD_SAY & G_WANT) == 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3713:80: note: expanded from macro 'STATIC_ASSERT_STMT'
#define STATIC_ASSERT_STMT(COND)      STMT_START { STATIC_ASSERT_DECL(COND); } STMT_END
                                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:532:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:532:5: note: '{' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
pp_sys.c:532:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:532:5: note: '{' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:532:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sys.c:532:5: note: ')' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:532:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
pp_sys.c:532:5: note: ')' token is here
    PUSHSTACKi(PERLSI_MAGIC);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:546:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, extend_size);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:546:5: note: '{' token is here
    EXTEND(SP, extend_size);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:546:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, extend_size);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:546:5: note: ')' token is here
    EXTEND(SP, extend_size);
    ^~~~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:547:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(sp);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:547:5: note: '{' token is here
    PUSHMARK(sp);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:547:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(sp);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:547:5: note: ')' token is here
    PUSHMARK(sp);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:578:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:578:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:578:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:578:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:578:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sys.c:578:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:578:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
pp_sys.c:578:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:581:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(sp, ret_args);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:581:2: note: '{' token is here
        EXTEND(sp, ret_args);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:581:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(sp, ret_args);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:581:2: note: ')' token is here
        EXTEND(sp, ret_args);
        ^~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:642:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:642:2: note: '{' token is here
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:642:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:642:2: note: '{' token is here
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:642:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:642:2: note: ')' token is here
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:642:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:642:2: note: ')' token is here
        PUSHi( (I32)PL_forkprocess );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:659:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:659:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:659:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:659:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:744:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:744:9: note: '{' token is here
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:744:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:744:9: note: '{' token is here
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:744:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:744:9: note: ')' token is here
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:744:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:744:9: note: ')' token is here
        PUSHi(my_dirfd(IoDIRP(io)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:767:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:767:5: note: '{' token is here
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:767:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:767:5: note: '{' token is here
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:767:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:767:5: note: ')' token is here
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:767:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:767:5: note: ')' token is here
    PUSHi(PerlIO_fileno(fp));
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:789:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:789:5: note: '{' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:789:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:789:5: note: '{' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:789:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:789:5: note: ')' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:789:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:789:5: note: '{' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:789:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:789:5: note: '{' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:789:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:789:5: note: ')' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:789:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:789:5: note: ')' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:789:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:789:5: note: ')' token is here
    XPUSHi(anum);
    ^~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:921:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:921:2: note: '{' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
pp_sys.c:921:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:921:2: note: '{' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:921:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sys.c:921:2: note: ')' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:921:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
pp_sys.c:921:2: note: ')' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:922:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:922:2: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:922:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:922:2: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:923:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:923:2: note: '{' token is here
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:923:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:923:2: note: ')' token is here
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:967:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:967:2: note: '{' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
pp_sys.c:967:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:967:2: note: '{' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:967:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sys.c:967:2: note: ')' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:967:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
pp_sys.c:967:2: note: ')' token is here
        PUSHSTACKi(PERLSI_MAGIC);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:968:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:968:2: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:968:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:968:2: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:969:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:969:2: note: '{' token is here
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:969:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:969:2: note: ')' token is here
        EXTEND(SP,(I32)items);
        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:978:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:978:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:978:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:978:5: note: '{' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sys.c:978:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sys.c:978:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:978:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
pp_sys.c:978:5: note: ')' token is here
    POPSTACK;
    ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1018:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               PUSHMARK(SP);
               ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1018:9: note: '{' token is here
               PUSHMARK(SP);
               ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:1018:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               PUSHMARK(SP);
               ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:1018:9: note: ')' token is here
               PUSHMARK(SP);
               ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1020:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:20: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1020:9: note: '{' token is here
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:31: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                   ^
pp_sys.c:1020:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1020:9: note: '{' token is here
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1020:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1020:9: note: ')' token is here
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1020:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:58: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                                              ^
pp_sys.c:1020:9: note: ')' token is here
               mXPUSHi(SvREFCNT(obj) - 1);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:481:60: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1080:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1080:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:1080:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:1080:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1082:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 5);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1082:5: note: '{' token is here
    EXTEND(SP, 5);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1082:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 5);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1082:5: note: ')' token is here
    EXTEND(SP, 5);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1099:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1099:2: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sys.c:1099:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sys.c:1099:2: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1276:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:2: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1276:3: note: '{' token is here
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2147:13: note: expanded from macro 'SvSetSV_and'
        STMT_START {                                    \
                   ^
pp_sys.c:1276:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1276:3: note: '{' token is here
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1276:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1276:3: note: ')' token is here
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:23: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                                    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2150:3: note: expanded from macro 'SvSetSV_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1276:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:2: note: expanded from macro 'SvSetSV_and'
        } STMT_END
        ^
pp_sys.c:1276:3: note: ')' token is here
                SvSetMagicSV(SP[i], sv);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2167:3: note: expanded from macro 'SvSetMagicSV'
                SvSetSV_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2152:4: note: expanded from macro 'SvSetSV_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1278:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1278:3: note: '{' token is here
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:1278:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:1278:3: note: ')' token is here
                SvSETMAGIC(sv);
                ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1282:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1282:5: note: '{' token is here
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:1282:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1282:5: note: '{' token is here
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:1282:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:1282:5: note: ')' token is here
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1282:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:1282:5: note: ')' token is here
    PUSHi(nfound);
    ^~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1336:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:19: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1336:6: note: '{' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:30: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:1336:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1336:6: note: '{' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:1336:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:1336:6: note: ')' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:32: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1336:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1336:6: note: '{' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:1336:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1336:6: note: '{' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1336:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1336:6: note: ')' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1336:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:1336:6: note: ')' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:50: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                       ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1336:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:64: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                     ^
pp_sys.c:1336:6: note: ')' token is here
            XPUSHTARG;
            ^~~~~~~~~
./pp.h:463:66: note: expanded from macro 'XPUSHTARG'
#define XPUSHTARG       STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
                                                                       ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1339:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1339:6: note: '{' token is here
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:1339:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1339:6: note: '{' token is here
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1339:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1339:6: note: ')' token is here
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1339:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:1339:6: note: ')' token is here
            mXPUSHs(newRV(MUTABLE_SV(egv)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1361:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1361:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1361:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1361:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1370:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:3: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1370:3: note: '{' token is here
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:3: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
pp_sys.c:1370:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:31: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                                            ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sv.h:2157:3: note: expanded from macro 'SvSetSV_nosteal_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1370:3: note: '{' token is here
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:31: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                                            ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
./sv.h:2157:3: note: expanded from macro 'SvSetSV_nosteal_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1370:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:31: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                                            ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
./sv.h:2157:3: note: expanded from macro 'SvSetSV_nosteal_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1370:3: note: ')' token is here
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:31: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                                            ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./sv.h:2157:3: note: expanded from macro 'SvSetSV_nosteal_and'
                finally;                                \
                ^~~~~~~
pp_sys.c:1370:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:3: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
pp_sys.c:1370:3: note: ')' token is here
                SvSetMagicSV_nosteal(TARG, TOPs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2169:3: note: expanded from macro 'SvSetMagicSV_nosteal'
                SvSetSV_nosteal_and(dst,src,SvSETMAGIC(dst))
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1390:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG,1+len);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1390:6: note: '{' token is here
            SvCUR_set(TARG,1+len);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1390:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(TARG,1+len);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1390:6: note: ')' token is here
            SvCUR_set(TARG,1+len);
            ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1395:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1395:5: note: '{' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:1395:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1395:5: note: '{' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:1395:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:1395:5: note: ')' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1395:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_sys.c:1395:5: note: ')' token is here
    PUSHTARG;
    ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1429:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1429:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1429:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1429:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1517:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, s - SvPVX_const(PL_formtarget));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1517:3: note: '{' token is here
                SvCUR_set(PL_formtarget, s - SvPVX_const(PL_formtarget));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1517:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, s - SvPVX_const(PL_formtarget));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1517:3: note: ')' token is here
                SvCUR_set(PL_formtarget, s - SvPVX_const(PL_formtarget));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1519:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, save);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1519:3: note: '{' token is here
                SvCUR_set(PL_formtarget, save);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1519:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(PL_formtarget, save);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1519:3: note: ')' token is here
                SvCUR_set(PL_formtarget, save);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1545:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1545:5: note: '{' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_sys.c:1545:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_sys.c:1545:5: note: ')' token is here
    CX_LEAVE_SCOPE(cx);
    ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1551:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1551:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1551:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1551:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1574:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_formtarget, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1574:6: note: '{' token is here
            SvCUR_set(PL_formtarget, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1574:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(PL_formtarget, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1574:6: note: ')' token is here
            SvCUR_set(PL_formtarget, 0);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1595:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1595:21: note: '{' token is here
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:1595:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1595:21: note: '{' token is here
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1595:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1595:21: note: ')' token is here
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1595:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:1595:21: note: ')' token is here
    if (MARK == SP) XPUSHs(&PL_sv_no);
                    ^~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1601:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1601:3: note: '{' token is here
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp_sys.c:1601:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1601:3: note: ')' token is here
                MEXTEND(SP, 1);
                ^~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1776:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bufsv, count);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1776:2: note: '{' token is here
        SvCUR_set(bufsv, count);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1776:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bufsv, count);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1776:2: note: ')' token is here
        SvCUR_set(bufsv, count);
        ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1781:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bufsv);
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1781:2: note: '{' token is here
        SvSETMAGIC(bufsv);
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:1781:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(bufsv);
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:1781:2: note: ')' token is here
        SvSETMAGIC(bufsv);
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1784:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(bufsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1784:6: note: '{' token is here
            SvTAINTED_on(bufsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:1784:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(bufsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:1784:6: note: ')' token is here
            SvTAINTED_on(bufsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1835:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bufsv, offset);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1835:2: note: '{' token is here
        SvCUR_set(bufsv, offset);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1835:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(bufsv, offset);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1835:2: note: ')' token is here
        SvCUR_set(bufsv, offset);
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1875:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(read_target, count+(buffer - SvPVX_const(read_target)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1875:5: note: '{' token is here
    SvCUR_set(read_target, count+(buffer - SvPVX_const(read_target)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:1875:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(read_target, count+(buffer - SvPVX_const(read_target)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:1875:5: note: ')' token is here
    SvCUR_set(read_target, count+(buffer - SvPVX_const(read_target)));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1918:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(bufsv);
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1918:5: note: '{' token is here
    SvSETMAGIC(bufsv);
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:1918:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(bufsv);
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:1918:5: note: ')' token is here
    SvSETMAGIC(bufsv);
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1921:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(bufsv);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1921:2: note: '{' token is here
        SvTAINTED_on(bufsv);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:1921:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(bufsv);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:1921:2: note: ')' token is here
        SvTAINTED_on(bufsv);
        ^~~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1923:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1923:5: note: '{' token is here
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:1923:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1923:5: note: '{' token is here
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:1923:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:1923:5: note: ')' token is here
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1923:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:1923:5: note: ')' token is here
    PUSHi(count);
    ^~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1953:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:20: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1953:3: note: '{' token is here
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:31: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                   ^
pp_sys.c:1953:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:1953:3: note: '{' token is here
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:1953:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:1953:3: note: ')' token is here
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:33: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:1953:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:58: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                                              ^
pp_sys.c:1953:3: note: ')' token is here
                mXPUSHi(sv_len(sv));
                ^~~~~~~~~~~~~~~~~~~
./pp.h:481:60: note: expanded from macro 'mXPUSHi'
#define mXPUSHi(i)      STMT_START { EXTEND(sp,1); mPUSHi(i); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2078:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2078:5: note: '{' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2078:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2078:5: note: '{' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2078:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2078:5: note: ')' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2078:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2078:5: note: ')' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2111:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2111:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:2111:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:2111:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2141:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2141:7: note: '{' token is here
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:2141:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:2141:7: note: ')' token is here
                    SvSETMAGIC(sv);
                    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2164:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2164:2: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:2164:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:2164:2: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2177:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2177:2: note: '{' token is here
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2177:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2177:2: note: '{' token is here
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2177:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2177:2: note: ')' token is here
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2177:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2177:2: note: ')' token is here
        PUSHi(-1);
        ^~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2184:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2184:5: note: '{' token is here
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2184:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2184:5: note: '{' token is here
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2184:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2184:5: note: ')' token is here
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2184:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2184:5: note: ')' token is here
    PUSHi( (IV)do_tell(gv) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2372:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(argsv, need);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2372:6: note: '{' token is here
            SvCUR_set(argsv, need);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:2372:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(argsv, need);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:2372:6: note: ')' token is here
            SvCUR_set(argsv, need);
            ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2406:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(argsv);              /* Assume it has changed */
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2406:2: note: '{' token is here
        SvSETMAGIC(argsv);              /* Assume it has changed */
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:2406:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(argsv);              /* Assume it has changed */
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:2406:2: note: ')' token is here
        SvSETMAGIC(argsv);              /* Assume it has changed */
        ^~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2412:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2412:2: note: '{' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2412:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2412:2: note: '{' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2412:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2412:2: note: ')' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2412:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2412:2: note: ')' token is here
        PUSHi(retval);
        ^~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2415:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:20: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2415:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:31: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                   ^
pp_sys.c:2415:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2415:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2415:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2415:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:2415:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:2415:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2415:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_sys.c:2415:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2415:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:70: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                          ^
pp_sys.c:2415:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:72: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2441:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2441:5: note: '{' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2441:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2441:5: note: '{' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2441:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2441:5: note: ')' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2441:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2441:5: note: ')' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2637:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:20: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2637:5: note: '{' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:31: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                   ^
pp_sys.c:2637:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2637:5: note: '{' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2637:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2637:5: note: '{' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:2637:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:2637:5: note: ')' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2637:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_sys.c:2637:5: note: ')' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2637:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:70: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                          ^
pp_sys.c:2637:5: note: ')' token is here
    PUSHp(namebuf, len);
    ^~~~~~~~~~~~~~~~~~~
./pp.h:457:72: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2659:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2659:5: note: '{' token is here
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:2659:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2659:5: note: '{' token is here
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:2659:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:2659:5: note: ')' token is here
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2659:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:2659:5: note: ')' token is here
    PUSHi( PerlSock_shutdown(PerlIO_fileno(IoIFP(io)), how) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2693:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv,256);
        ^~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2693:2: note: '{' token is here
        SvCUR_set(sv,256);
        ^~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:2693:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv,256);
        ^~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:2693:2: note: ')' token is here
        SvCUR_set(sv,256);
        ^~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2703:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2703:2: note: '{' token is here
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:2703:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:2703:2: note: ')' token is here
        SvCUR_set(sv, len);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2773:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2773:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:2773:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:2773:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2805:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2805:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_sys.c:2805:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_sys.c:2805:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2898:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2898:2: note: '{' token is here
        SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
pp_sys.c:2898:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
pp_sys.c:2898:2: note: ')' token is here
        SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2925:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2925:6: note: '{' token is here
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:2925:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2925:6: note: '{' token is here
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:2925:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:2925:6: note: ')' token is here
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2925:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:2925:6: note: ')' token is here
            XPUSHs(boolSV(max));
            ^~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2929:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, max);
        ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2929:2: note: '{' token is here
        EXTEND(SP, max);
        ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:2929:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, max);
        ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:2929:2: note: ')' token is here
        EXTEND(SP, max);
        ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:2930:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(max);
        ^~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:2930:2: note: '{' token is here
        EXTEND_MORTAL(max);
        ^~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_sys.c:2930:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(max);
        ^~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_sys.c:2930:2: note: ')' token is here
        EXTEND_MORTAL(max);
        ^~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3044:36: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3044:36: note: '{' token is here
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:3044:36: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3044:36: note: '{' token is here
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:3044:36: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:3044:36: note: ')' token is here
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3044:36: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:3044:36: note: ')' token is here
    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
                                   ^~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3060:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3060:9: note: '{' token is here
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:3060:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3060:9: note: '{' token is here
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:3060:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:3060:9: note: ')' token is here
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3060:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:3060:9: note: ')' token is here
        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3137:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3137:5: note: '{' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3137:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3137:5: note: ')' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3243:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3243:5: note: '{' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3243:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3243:5: note: ')' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3275:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3275:2: note: '{' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:3275:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:3275:2: note: ')' token is here
        SvSETMAGIC(TARG);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3305:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3305:5: note: '{' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3305:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3305:5: note: ')' token is here
    tryAMAGICftest_MG(opchar);
    ^~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3373:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG('l');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3373:5: note: '{' token is here
    tryAMAGICftest_MG('l');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3373:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG('l');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3373:5: note: ')' token is here
    tryAMAGICftest_MG('l');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3391:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG('t');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3391:5: note: '{' token is here
    tryAMAGICftest_MG('t');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3391:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG('t');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3391:5: note: ')' token is here
    tryAMAGICftest_MG('t');
    ^~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3434:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:32: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                               ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3434:5: note: '{' token is here
    tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3071:43: note: expanded from macro 'tryAMAGICftest_MG'
#define tryAMAGICftest_MG(chr) STMT_START { \
                                          ^
pp_sys.c:3434:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:5: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
    ^
pp_sys.c:3434:5: note: ')' token is here
    tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_sys.c:3077:7: note: expanded from macro 'tryAMAGICftest_MG'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3649:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3649:9: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:3649:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:3649:9: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3673:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3673:3: note: '{' token is here
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3673:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3673:3: note: '{' token is here
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3673:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3673:3: note: ')' token is here
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3673:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:3673:3: note: ')' token is here
                PUSHi(fchdir(my_dirfd(IoDIRP(io))) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3679:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3679:17: note: '{' token is here
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3679:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3679:17: note: '{' token is here
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3679:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3679:17: note: ')' token is here
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3679:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:3679:17: note: ')' token is here
                PUSHi(fchdir(fd) >= 0);
                ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3693:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3693:9: note: '{' token is here
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3693:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3693:9: note: '{' token is here
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3693:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3693:9: note: ')' token is here
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3693:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:3693:9: note: ')' token is here
        PUSHi( PerlDir_chdir(tmps) >= 0 );
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3719:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3719:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3719:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3719:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3719:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3719:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3719:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3719:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:3719:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3719:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:3719:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:3719:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3719:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:3719:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3719:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:3719:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3729:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3729:5: note: '{' token is here
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3729:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3729:5: note: '{' token is here
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3729:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3729:5: note: ')' token is here
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3729:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:3729:5: note: ')' token is here
    PUSHi( chroot(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3760:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3760:5: note: '{' token is here
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:3760:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3760:5: note: '{' token is here
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3760:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3760:5: note: ')' token is here
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3760:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:3760:5: note: ')' token is here
    SETi( anum >= 0 );
    ^~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3801:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3801:5: note: '{' token is here
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:3801:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3801:5: note: '{' token is here
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3801:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3801:5: note: ')' token is here
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3801:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:3801:5: note: ')' token is here
    SETi( result >= 0 );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3832:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:20: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3832:5: note: '{' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:31: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                   ^
pp_sys.c:3832:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3832:5: note: '{' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:3832:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3832:5: note: '{' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:3832:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:3832:5: note: ')' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3832:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_sys.c:3832:5: note: ')' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3832:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:70: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                          ^
pp_sys.c:3832:5: note: ')' token is here
    PUSHp(buf, len);
    ^~~~~~~~~~~~~~~
./pp.h:457:72: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3958:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3958:5: note: '{' token is here
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:3958:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3958:5: note: '{' token is here
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3958:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3958:5: note: ')' token is here
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3958:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:3958:5: note: ')' token is here
    SETi( PerlDir_mkdir(tmps, mode) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3983:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3983:5: note: '{' token is here
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:3983:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:3983:5: note: '{' token is here
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:3983:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:3983:5: note: ')' token is here
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:3983:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:3983:5: note: ')' token is here
    SETi( PerlDir_rmdir(tmps) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4053:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4053:13: note: '{' token is here
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:4053:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:4053:13: note: ')' token is here
            SvTAINTED_on(sv);
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4054:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4054:9: note: '{' token is here
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4054:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4054:9: note: '{' token is here
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4054:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4054:9: note: ')' token is here
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4054:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4054:9: note: ')' token is here
        mXPUSHs(sv);
        ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4093:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4093:5: note: '{' token is here
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4093:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4093:5: note: '{' token is here
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4093:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4093:5: note: ')' token is here
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4093:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4093:5: note: ')' token is here
    PUSHi( PerlDir_tell(IoDIRP(io)) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4198:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4198:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4198:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4198:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4226:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4226:5: note: '{' token is here
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4226:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4226:5: note: '{' token is here
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4226:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4226:5: note: ')' token is here
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4226:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4226:5: note: ')' token is here
    PUSHi(childpid);
    ^~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4263:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATUS_NATIVE_CHILD_SET((childpid > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4263:5: note: '{' token is here
    STATUS_NATIVE_CHILD_SET((childpid > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:4263:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATUS_NATIVE_CHILD_SET((childpid > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:4263:5: note: ')' token is here
    STATUS_NATIVE_CHILD_SET((childpid > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4265:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4265:5: note: '{' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4265:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4265:5: note: '{' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4265:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4265:5: note: ')' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4265:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4265:5: note: '{' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4265:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4265:5: note: '{' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4265:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4265:5: note: ')' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4265:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4265:5: note: ')' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4265:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4265:5: note: ')' token is here
    XPUSHi(childpid);
    ^~~~~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4299:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATUS_NATIVE_CHILD_SET((result > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4299:5: note: '{' token is here
    STATUS_NATIVE_CHILD_SET((result > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:4299:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STATUS_NATIVE_CHILD_SET((result > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:4299:5: note: ')' token is here
    STATUS_NATIVE_CHILD_SET((result > 0) ? argflags : -1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4302:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4302:5: note: '{' token is here
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:4302:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4302:5: note: '{' token is here
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4302:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4302:5: note: ')' token is here
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4302:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:4302:5: note: ')' token is here
    SETi(result);
    ^~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4402:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4402:3: note: '{' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4402:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4402:3: note: '{' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4402:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4402:3: note: ')' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4402:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4402:3: note: '{' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4402:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4402:3: note: '{' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4402:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4402:3: note: ')' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4402:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4402:3: note: ')' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4402:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4402:3: note: ')' token is here
                XPUSHi(value);
                ^~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4442:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_NATIVE_CHILD_SET(result == -1 ? -1 : status);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4442:6: note: '{' token is here
            STATUS_NATIVE_CHILD_SET(result == -1 ? -1 : status);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:4442:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_NATIVE_CHILD_SET(result == -1 ? -1 : status);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:4442:6: note: ')' token is here
            STATUS_NATIVE_CHILD_SET(result == -1 ? -1 : status);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4467:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        STATUS_NATIVE_CHILD_SET(-1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4467:25: note: '{' token is here
                        STATUS_NATIVE_CHILD_SET(-1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
pp_sys.c:4467:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        STATUS_NATIVE_CHILD_SET(-1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
pp_sys.c:4467:25: note: ')' token is here
                        STATUS_NATIVE_CHILD_SET(-1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4471:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4471:6: note: '{' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4471:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4471:6: note: '{' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4471:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4471:6: note: ')' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4471:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4471:6: note: '{' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4471:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4471:6: note: '{' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4471:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4471:6: note: ')' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4471:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4471:6: note: ')' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4471:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4471:6: note: ')' token is here
            XPUSHi(STATUS_CURRENT);
            ^~~~~~~~~~~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4558:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4558:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4558:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4558:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4558:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4558:5: note: '{' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4558:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4558:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4558:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4558:5: note: ')' token is here
    XPUSHi(value);
    ^~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4566:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4566:5: note: '{' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4566:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4566:5: note: '{' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4566:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4566:5: note: ')' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4566:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4566:5: note: '{' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4566:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4566:5: note: '{' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4566:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4566:5: note: ')' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4566:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4566:5: note: ')' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4566:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4566:5: note: ')' token is here
    XPUSHi( getppid() );
    ^~~~~~~~~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4588:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:19: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4588:5: note: '{' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:30: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4588:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4588:5: note: '{' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4588:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4588:5: note: ')' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:32: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4588:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4588:5: note: '{' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4588:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4588:5: note: '{' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4588:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4588:5: note: ')' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4588:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4588:5: note: ')' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:44: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4588:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:58: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4588:5: note: ')' token is here
    XPUSHi(pgrp);
    ^~~~~~~~~~~~
./pp.h:466:60: note: expanded from macro 'XPUSHi'
#define XPUSHi(i)       STMT_START { TARGi(i,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4605:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4605:2: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4605:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4605:2: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4611:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4611:5: note: '{' token is here
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:4611:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4611:5: note: '{' token is here
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4611:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4611:5: note: ')' token is here
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4611:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:4611:5: note: ')' token is here
    SETi( BSD_SETPGRP(pid, pgrp) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4643:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4643:5: note: '{' token is here
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:4643:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4643:5: note: '{' token is here
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4643:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4643:5: note: ')' token is here
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4643:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:4643:5: note: ')' token is here
    SETi( getpriority(PRIORITY_WHICH_T(which), who) );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4658:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:18: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4658:5: note: '{' token is here
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:29: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                   ^
pp_sys.c:4658:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4658:5: note: '{' token is here
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4658:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4658:5: note: ')' token is here
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:31: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4658:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:55: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                             ^
pp_sys.c:4658:5: note: ')' token is here
    SETi( setpriority(PRIORITY_WHICH_T(which), who, niceval) >= 0 );
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:488:57: note: expanded from macro 'SETi'
#define SETi(i)         STMT_START { TARGi(i,1); SETs(TARG); } STMT_END
                                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:19: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4675:5: note: '{' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:30: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4675:5: note: '{' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp_sys.c:4675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp_sys.c:4675:5: note: ')' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4675:5: note: '{' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4675:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4675:5: note: '{' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4675:5: note: ')' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4675:5: note: ')' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4675:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:58: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4675:5: note: ')' token is here
    XPUSHu( (UV)time(NULL) );
    ^~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:60: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4686:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4686:5: note: '{' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4686:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4686:5: note: ')' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4784:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4784:9: note: '{' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4784:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4784:9: note: ')' token is here
        EXTEND(SP, 1);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4804:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 9);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4804:9: note: '{' token is here
        EXTEND(SP, 9);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4804:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 9);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4804:9: note: ')' token is here
        EXTEND(SP, 9);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4805:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(9);
        ^~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4805:9: note: '{' token is here
        EXTEND_MORTAL(9);
        ^~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_sys.c:4805:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND_MORTAL(9);
        ^~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_sys.c:4805:9: note: ')' token is here
        EXTEND_MORTAL(9);
        ^~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4844:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:18: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4844:9: note: '{' token is here
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:29: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4844:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:31: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4844:9: note: '{' token is here
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:31: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp_sys.c:4844:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:31: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp_sys.c:4844:9: note: ')' token is here
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:31: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4844:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:56: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4844:9: note: ')' token is here
        PUSHu(retval);
        ^~~~~~~~~~~~~
./pp.h:460:58: note: expanded from macro 'PUSHu'
#define PUSHu(u)        STMT_START { TARGu(u,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4868:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4868:11: note: '{' token is here
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4868:11: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4868:11: note: '{' token is here
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4868:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4868:11: note: ')' token is here
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4868:11: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4868:11: note: ')' token is here
          XPUSHs(&PL_sv_zero);
          ^~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4875:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:19: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4875:5: note: '{' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:30: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4875:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:5: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4875:5: note: '{' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:414:16: note: expanded from macro 'TARGu'
    STMT_START {                                                        \
               ^
pp_sys.c:4875:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:5: note: expanded from macro 'TARGu'
    } STMT_END
    ^
pp_sys.c:4875:5: note: ')' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:32: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:432:7: note: expanded from macro 'TARGu'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4875:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4875:5: note: '{' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_sys.c:4875:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4875:5: note: '{' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4875:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4875:5: note: ')' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4875:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_sys.c:4875:5: note: ')' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:44: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                 ^~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4875:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:58: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                               ^
pp_sys.c:4875:5: note: ')' token is here
    XPUSHu((UV)(when - lasttime));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:467:60: note: expanded from macro 'XPUSHu'
#define XPUSHu(u)       STMT_START { TARGu(u,1); XPUSHs(TARG); } STMT_END
                                                                 ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4907:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4907:5: note: '{' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4907:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4907:5: note: '{' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4907:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4907:5: note: ')' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4907:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4907:5: note: ')' token is here
    PUSHi(value);
    ^~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4926:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4926:5: note: '{' token is here
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4926:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4926:5: note: '{' token is here
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4926:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4926:5: note: ')' token is here
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4926:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4926:5: note: ')' token is here
    PUSHi(anum);
    ^~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4944:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4944:2: note: '{' token is here
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4944:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4944:2: note: '{' token is here
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:4944:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:4944:2: note: ')' token is here
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4944:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:4944:2: note: ')' token is here
        PUSHi(anum);
        ^~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4947:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:20: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4947:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:31: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                   ^
pp_sys.c:4947:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:18: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4947:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:29: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:4947:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4947:2: note: '{' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_sys.c:4947:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_sys.c:4947:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:31: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4947:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:62: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                    ^
pp_sys.c:4947:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:60: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                ^~~~~~~~
./pp.h:456:64: note: expanded from macro 'PUSHTARG'
#define PUSHTARG        STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
                                                                      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4947:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:70: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                          ^
pp_sys.c:4947:2: note: ')' token is here
        PUSHp(zero_but_true, ZBTLEN);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:457:72: note: expanded from macro 'PUSHp'
#define PUSHp(p,l)      STMT_START { sv_setpvn(TARG, (p), (l)); PUSHTARG; } STMT_END
                                                                            ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:4995:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:4995:5: note: '{' token is here
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:4995:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:4995:5: note: ')' token is here
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5030:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5030:6: note: '{' token is here
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
pp_sys.c:5030:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
pp_sys.c:5030:6: note: ')' token is here
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5055:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:22: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5055:6: note: '{' token is here
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:33: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                   ^
pp_sys.c:5055:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:35: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5055:6: note: '{' token is here
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:35: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5055:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:35: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5055:6: note: ')' token is here
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:35: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5055:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:67: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                                                     ^
pp_sys.c:5055:6: note: ')' token is here
            mXPUSHp(*elem, len);
            ^~~~~~~~~~~~~~~~~~~
./pp.h:479:69: note: expanded from macro 'mXPUSHp'
#define mXPUSHp(p,l)    STMT_START { EXTEND(sp,1); mPUSHp((p), (l)); } STMT_END
                                                                       ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5116:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:2: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5116:6: note: '{' token is here
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3503:13: note: expanded from macro 'STATUS_UNIX_SET'
        STMT_START {                    \
                   ^
pp_sys.c:5116:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:2: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
        ^
pp_sys.c:5116:6: note: ')' token is here
            STATUS_UNIX_SET(h_errno);
            ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3507:4: note: expanded from macro 'STATUS_UNIX_SET'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5120:5: note: '{' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5120:5: note: ')' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5184:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 3);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5184:5: note: '{' token is here
    EXTEND(SP, 3);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5184:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 3);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5184:5: note: ')' token is here
    EXTEND(SP, 3);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5250:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5250:5: note: '{' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5250:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5250:5: note: ')' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5381:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5381:5: note: '{' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5381:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5381:5: note: ')' token is here
    EXTEND(SP,1);
    ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5486:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5486:5: note: '{' token is here
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5486:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5486:5: note: ')' token is here
    EXTEND(SP, 10);
    ^~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5541:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5541:2: note: '{' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:5541:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:5541:2: note: ')' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5579:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5579:2: note: '{' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:5579:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:5579:2: note: ')' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5585:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5585:2: note: '{' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_sys.c:5585:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_sys.c:5585:2: note: ')' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5628:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5628:5: note: '{' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5628:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5628:5: note: ')' token is here
    EXTEND(SP, 4);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5677:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5677:5: note: '{' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sys.c:5677:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sys.c:5677:5: note: ')' token is here
    EXTEND(SP, 1);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5755:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5755:5: note: '{' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
pp_sys.c:5755:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sys.c:5755:5: note: '{' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
pp_sys.c:5755:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
pp_sys.c:5755:5: note: ')' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sys.c:5755:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
pp_sys.c:5755:5: note: ')' token is here
    PUSHi(retval);
    ^~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
592 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC doop.c
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from doop.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doop.c:25:
./invlist_inline.h:122:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./invlist_inline.h:122:5: note: '{' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
In file included from doop.c:25:
./invlist_inline.h:122:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
./invlist_inline.h:122:5: note: ')' token is here
    SvCUR_set(invlist,
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:64:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:64:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:64:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:64:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:103:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:103:6: note: '{' token is here
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:103:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:103:6: note: ')' token is here
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:106:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:106:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:106:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:106:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:241:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, d - dstart);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:241:2: note: '{' token is here
        SvCUR_set(sv, d - dstart);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:241:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, d - dstart);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:241:2: note: ')' token is here
        SvCUR_set(sv, d - dstart);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:311:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:311:6: note: '{' token is here
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:311:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:311:6: note: ')' token is here
            SvCUR_set(sv, d - dstart);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:315:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:315:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:315:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:315:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:569:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, d - d0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:569:2: note: '{' token is here
        SvCUR_set(sv, d - d0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:569:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(sv, d - d0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:569:2: note: ')' token is here
        SvCUR_set(sv, d - d0);
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:575:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:575:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:575:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:575:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:676:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(sv);
        ^~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:676:2: note: '{' token is here
        SvTAINTED_off(sv);
        ^~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
doop.c:676:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(sv);
        ^~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
doop.c:676:2: note: ')' token is here
        SvTAINTED_off(sv);
        ^~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:704:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:704:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:704:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:704:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:729:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:729:5: note: '{' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:729:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:729:5: note: ')' token is here
    SvSETMAGIC(sv);
    ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:731:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:731:2: note: '{' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
doop.c:731:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
doop.c:731:2: note: ')' token is here
        SvTAINTED_on(sv);
        ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:959:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(targ, newlen - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:959:2: note: '{' token is here
        SvCUR_set(targ, newlen - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:959:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(targ, newlen - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:959:2: note: ')' token is here
        SvCUR_set(targ, newlen - 1);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:996:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(targ);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:996:5: note: '{' token is here
    SvSETMAGIC(targ);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doop.c:996:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(targ);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doop.c:996:5: note: ')' token is here
    SvSETMAGIC(targ);
    ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1108:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1108:5: note: '{' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:1108:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:1108:5: note: ')' token is here
    SvCUR_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1172:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, rightlen);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1172:17: note: '{' token is here
                SvCUR_set(sv, rightlen);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:1172:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, rightlen);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:1172:17: note: ')' token is here
                SvCUR_set(sv, rightlen);
                ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1178:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, leftlen);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1178:17: note: '{' token is here
                SvCUR_set(sv, leftlen);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doop.c:1178:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, leftlen);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doop.c:1178:17: note: ')' token is here
                SvCUR_set(sv, leftlen);
                ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1208:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1208:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
doop.c:1208:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1208:5: note: '{' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
doop.c:1208:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
doop.c:1208:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1208:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
doop.c:1208:5: note: ')' token is here
    SvTAINT(sv);
    ^~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1274:6: note: '{' token is here
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
doop.c:1274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doop.c:1274:6: note: '{' token is here
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
doop.c:1274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
doop.c:1274:6: note: ')' token is here
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doop.c:1274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
doop.c:1274:6: note: ')' token is here
            PUSHi( i );
            ^~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
142 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC doio.c
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from doio.c:27:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1036:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, 0);
                ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1036:17: note: '{' token is here
                SvIV_set(sv, 0);
                ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
doio.c:1036:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, 0);
                ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
doio.c:1036:17: note: ')' token is here
                SvIV_set(sv, 0);
                ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1039:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, pid);
                ^~~~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1039:17: note: '{' token is here
                SvIV_set(sv, pid);
                ^~~~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
doio.c:1039:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvIV_set(sv, pid);
                ^~~~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
doio.c:1039:17: note: ')' token is here
                SvIV_set(sv, pid);
                ^~~~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1329:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:27: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1329:2: note: '{' token is here
        SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:37: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                    ^
doio.c:1329:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:83: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                  ^
doio.c:1329:2: note: ')' token is here
        SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
        ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1495:84: note: expanded from macro 'SvTAINTED_off'
#define SvTAINTED_off(sv) STMT_START{ if(UNLIKELY(TAINTING_get)){sv_untaint(sv);} }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1331:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(GvSV(gv));
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1331:2: note: '{' token is here
        SvSETMAGIC(GvSV(gv));
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doio.c:1331:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(GvSV(gv));
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doio.c:1331:2: note: ')' token is here
        SvSETMAGIC(GvSV(gv));
        ^~~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1461:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PERL_UNUSED_RESULT(fchown(PL_lastfd,fileuid,filegid));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1461:25: note: '{' token is here
                        PERL_UNUSED_RESULT(fchown(PL_lastfd,fileuid,filegid));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
doio.c:1461:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PERL_UNUSED_RESULT(fchown(PL_lastfd,fileuid,filegid));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
doio.c:1461:25: note: ')' token is here
                        PERL_UNUSED_RESULT(fchown(PL_lastfd,fileuid,filegid));
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:1809:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STATUS_NATIVE_CHILD_SET(status);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
            ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:1809:3: note: '{' token is here
                STATUS_NATIVE_CHILD_SET(status);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3467:24: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            STMT_START {                                   \
                       ^
doio.c:1809:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                STATUS_NATIVE_CHILD_SET(status);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:13: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
            ^
doio.c:1809:3: note: ')' token is here
                STATUS_NATIVE_CHILD_SET(status);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:3477:15: note: expanded from macro 'STATUS_NATIVE_CHILD_SET'
            } STMT_END
              ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2291:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(fd, (void*)&e, sizeof(int)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2291:9: note: '{' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(fd, (void*)&e, sizeof(int)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
doio.c:2291:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(fd, (void*)&e, sizeof(int)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
doio.c:2291:9: note: ')' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(fd, (void*)&e, sizeof(int)));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2526:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2526:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2526:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2526:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2529:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2529:6: note: '{' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2529:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2529:6: note: ')' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2537:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2537:4: note: '{' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2537:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2537:4: note: ')' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2554:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2554:7: note: '{' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2554:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2554:7: note: ')' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2565:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2565:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2565:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2565:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2570:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2570:6: note: '{' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2570:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2570:6: note: ')' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2578:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2578:4: note: '{' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2578:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2578:4: note: ')' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2595:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2595:7: note: '{' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2595:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2595:7: note: ')' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2613:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2613:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2613:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2613:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2641:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2641:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2641:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2641:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2650:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2650:6: note: '{' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2650:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2650:6: note: ')' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2665:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2665:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2665:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2665:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2669:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2669:6: note: '{' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2669:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2669:6: note: ')' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2722:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2722:2: note: '{' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2722:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2722:2: note: ')' token is here
        APPLY_TAINT_PROPER();
        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2762:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2762:6: note: '{' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2762:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2762:6: note: ')' token is here
            APPLY_TAINT_PROPER();
            ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2770:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2770:4: note: '{' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2770:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2770:4: note: ')' token is here
                        APPLY_TAINT_PROPER();
                        ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:2786:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:2786:7: note: '{' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2510:16: note: expanded from macro 'APPLY_TAINT_PROPER'
    STMT_START {                                                        \
               ^
doio.c:2786:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:5: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
    ^
doio.c:2786:7: note: ')' token is here
                    APPLY_TAINT_PROPER();
                    ^~~~~~~~~~~~~~~~~~~~
doio.c:2512:7: note: expanded from macro 'APPLY_TAINT_PROPER'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3071:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(astr, infosize);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3071:2: note: '{' token is here
        SvCUR_set(astr, infosize);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doio.c:3071:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(astr, infosize);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doio.c:3071:2: note: ')' token is here
        SvCUR_set(astr, infosize);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3073:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(astr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3073:2: note: '{' token is here
        SvSETMAGIC(astr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doio.c:3073:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(astr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doio.c:3073:2: note: ')' token is here
        SvSETMAGIC(astr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3140:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(mstr, sizeof(long)+ret);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3140:2: note: '{' token is here
        SvCUR_set(mstr, sizeof(long)+ret);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doio.c:3140:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(mstr, sizeof(long)+ret);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doio.c:3140:2: note: ')' token is here
        SvCUR_set(mstr, sizeof(long)+ret);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3143:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3143:2: note: '{' token is here
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
doio.c:3143:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
doio.c:3143:2: note: ')' token is here
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3241:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(mstr, msize);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3241:2: note: '{' token is here
        SvCUR_set(mstr, msize);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
doio.c:3241:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(mstr, msize);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
doio.c:3241:2: note: ')' token is here
        SvCUR_set(mstr, msize);
        ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3243:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(mstr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3243:2: note: '{' token is here
        SvSETMAGIC(mstr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
doio.c:3243:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(mstr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
doio.c:3243:2: note: ')' token is here
        SvSETMAGIC(mstr);
        ^~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
doio.c:3245:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
doio.c:3245:2: note: '{' token is here
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
doio.c:3245:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
doio.c:3245:2: note: ')' token is here
        SvTAINTED_on(mstr);
        ^~~~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
160 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC regexec.c
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from regexec.c:75:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:511:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:511:5: note: '{' token is here
    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:511:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:511:5: note: ')' token is here
    _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:922:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:922:17: note: '{' token is here
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:922:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:922:17: note: ')' token is here
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1189:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1189:17: note: '{' token is here
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:1189:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:1189:17: note: ')' token is here
                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2140:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2140:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:2140:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:2140:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2150:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2150:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2150:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2150:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2157:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2157:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2157:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2157:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2160:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2160:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2160:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2160:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2181:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2181:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2181:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2181:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2200:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2200:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2200:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2200:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2210:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2210:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2210:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2210:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2219:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2219:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2219:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2219:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(TRUE,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2227:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2227:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2227:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2227:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2245:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2245:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2245:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2245:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2287:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2287:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:2287:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:2287:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2465:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2465:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:2465:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:2465:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2474:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2474:9: note: '{' token is here
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2474:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2474:9: note: ')' token is here
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2474:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2474:9: note: '{' token is here
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2474:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2474:9: note: ')' token is here
        FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2478:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2478:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:2478:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:2478:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2487:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2487:9: note: '{' token is here
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2487:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2487:9: note: ')' token is here
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2487:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2487:9: note: '{' token is here
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2487:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2487:9: note: ')' token is here
        FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2494:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2494:9: note: '{' token is here
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2494:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2494:9: note: ')' token is here
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2494:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2494:9: note: '{' token is here
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2494:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2494:9: note: ')' token is here
        FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2501:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2001:13: note: expanded from macro 'FBC_BOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2501:9: note: '{' token is here
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2001:13: note: expanded from macro 'FBC_BOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2501:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2001:13: note: expanded from macro 'FBC_BOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2501:9: note: ')' token is here
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2001:13: note: expanded from macro 'FBC_BOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2501:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2000:5: note: expanded from macro 'FBC_BOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2501:9: note: '{' token is here
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2000:5: note: expanded from macro 'FBC_BOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2501:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2000:5: note: expanded from macro 'FBC_BOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2501:9: note: ')' token is here
        FBC_BOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2000:5: note: expanded from macro 'FBC_BOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2508:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2508:9: note: '{' token is here
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2508:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2508:9: note: ')' token is here
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2508:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2508:9: note: '{' token is here
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2508:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2508:9: note: ')' token is here
        FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2515:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2011:13: note: expanded from macro 'FBC_NBOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2515:9: note: '{' token is here
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2011:13: note: expanded from macro 'FBC_NBOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2515:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2011:13: note: expanded from macro 'FBC_NBOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2515:9: note: ')' token is here
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2011:13: note: expanded from macro 'FBC_NBOUND_A'
            FBC_UTF8_A(TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),           \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1911:5: note: expanded from macro 'FBC_UTF8_A'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2515:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2010:5: note: expanded from macro 'FBC_NBOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2515:9: note: '{' token is here
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2010:5: note: expanded from macro 'FBC_NBOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2515:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2010:5: note: expanded from macro 'FBC_NBOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2515:9: note: ')' token is here
        FBC_NBOUND_A(isWORDCHAR_A);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2010:5: note: expanded from macro 'FBC_NBOUND_A'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2520:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2520:13: note: '{' token is here
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2520:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2520:13: note: ')' token is here
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2006:11: note: expanded from macro 'FBC_NBOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2520:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2520:13: note: '{' token is here
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2520:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2520:13: note: ')' token is here
            FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:2005:5: note: expanded from macro 'FBC_NBOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2533:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2533:17: note: '{' token is here
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2533:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2533:17: note: ')' token is here
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1996:11: note: expanded from macro 'FBC_BOUND'
          FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER),          \
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1934:5: note: expanded from macro 'FBC_UTF8'
    REXEC_FBC_SCAN(1,  /* 1=>is-utf8; advances s while s < strend */           \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:1949:9: note: expanded from macro 'FBC_BOUND_COMMON'
        UTF8_CODE                                                              \
        ^~~~~~~~~
regexec.c:2533:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2533:17: note: '{' token is here
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2533:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:2533:17: note: ')' token is here
                FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1995:5: note: expanded from macro 'FBC_BOUND'
    FBC_BOUND_COMMON(                                                          \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1954:2: note: expanded from macro 'FBC_BOUND_COMMON'
        REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */       \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2787:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2787:9: note: '{' token is here
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2787:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2787:9: note: ')' token is here
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2787:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2787:9: note: '{' token is here
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2787:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2787:9: note: ')' token is here
        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2800:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2800:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:2800:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:2800:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2801:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2801:9: note: '{' token is here
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2801:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2801:9: note: ')' token is here
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1815:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(1, CONDUTF8);                     \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2801:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2801:9: note: '{' token is here
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2801:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2801:9: note: ')' token is here
        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1818:2: note: expanded from macro 'REXEC_FBC_CSCAN'
        REXEC_FBC_CLASS_SCAN(0, COND);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2819:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1,   ! isASCII_utf8_safe(s, strend)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2819:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(1,   ! isASCII_utf8_safe(s, strend)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2819:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1,   ! isASCII_utf8_safe(s, strend)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2819:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(1,   ! isASCII_utf8_safe(s, strend)
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2833:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2833:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2833:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2833:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2838:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2838:9: note: '{' token is here
        REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2838:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2838:9: note: ')' token is here
        REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2848:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2848:13: note: '{' token is here
            REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2848:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2848:13: note: ')' token is here
            REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2858:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2858:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2858:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2858:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2866:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2866:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2866:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2866:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2871:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2871:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2871:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2871:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2876:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2876:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2876:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2876:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2881:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2881:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2881:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2881:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2886:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2886:21: note: '{' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1797:16: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    STMT_START {                                            \
               ^
regexec.c:2886:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:5: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
    ^
regexec.c:2886:21: note: ')' token is here
                    REXEC_FBC_CLASS_SCAN(1,
                    ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1801:7: note: expanded from macro 'REXEC_FBC_CLASS_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:2925:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv_points,
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:2925:13: note: '{' token is here
            SvCUR_set(sv_points,
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regexec.c:2925:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv_points,
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regexec.c:2925:13: note: ')' token is here
            SvCUR_set(sv_points,
            ^~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1704:125: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uc_end, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \
                                                                                                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1705:12: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
STMT_START {                                                                        \
           ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3008:25: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3008:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1779:85: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
    }                                                                               \
                                                                                    ^
regexec.c:3008:25: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1780:3: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3158:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RXp_MATCH_COPY_FREE(prog);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:2: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3158:17: note: '{' token is here
                RXp_MATCH_COPY_FREE(prog);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:13: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
                   ^
regexec.c:3158:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                RXp_MATCH_COPY_FREE(prog);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:3: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
         ^
regexec.c:3158:17: note: ')' token is here
                RXp_MATCH_COPY_FREE(prog);
                ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:5: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3259:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RXp_MATCH_COPY_FREE(prog);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:2: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3259:9: note: '{' token is here
        RXp_MATCH_COPY_FREE(prog);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:562:13: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        STMT_START {if (RXp_SAVED_COPY(prog)) { \
                   ^
regexec.c:3259:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RXp_MATCH_COPY_FREE(prog);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:3: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
         ^
regexec.c:3259:9: note: ')' token is here
        RXp_MATCH_COPY_FREE(prog);
        ^~~~~~~~~~~~~~~~~~~~~~~~~
./regexp.h:568:5: note: expanded from macro 'RXp_MATCH_COPY_FREE'
        }} STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3463:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(reginfo->sv, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3463:9: note: '{' token is here
        SvSetSV_nosteal(reginfo->sv, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
regexec.c:3463:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSetSV_nosteal(reginfo->sv, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
regexec.c:3463:9: note: ')' token is here
        SvSetSV_nosteal(reginfo->sv, sv);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3614:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3614:6: note: '{' token is here
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:3614:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:3614:6: note: ')' token is here
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3628:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3628:21: note: '{' token is here
                    NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:3628:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:3628:21: note: ')' token is here
                    NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3632:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:5: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3632:6: note: '{' token is here
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1787:16: note: expanded from macro 'REXEC_FBC_SCAN'
    STMT_START {                                            \
               ^
regexec.c:3632:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:5: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
    ^
regexec.c:3632:6: note: ')' token is here
            REXEC_FBC_SCAN(0,   /* 0=>not-utf8 */
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1794:7: note: expanded from macro 'REXEC_FBC_SCAN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3669:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3669:25: note: '{' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:3669:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:3669:25: note: ')' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3685:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3685:25: note: '{' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:3685:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:3685:25: note: ')' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3796:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:51: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3796:25: note: '{' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:99:62: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START {           \
                                                             ^
regexec.c:3796:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:101:74: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
    goto target;                                                         \
                                                                         ^
regexec.c:3796:25: note: ')' token is here
                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:102:3: note: expanded from macro 'NON_UTF8_TARGET_BUT_UTF8_REQUIRED'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3918:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3918:5: note: '{' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:3918:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:3918:5: note: ')' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:3956:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:3956:5: note: '{' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:3956:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:3956:5: note: ')' token is here
    LEAVE_SCOPE(oldsave);
    ^~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:4036:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REGCP_UNWIND(lastcp);
    ^~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:4036:5: note: '{' token is here
    REGCP_UNWIND(lastcp);
    ^~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:4036:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    REGCP_UNWIND(lastcp);
    ^~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:4036:5: note: ')' token is here
    REGCP_UNWIND(lastcp);
    ^~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6034:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6034:21: note: '{' token is here
                    _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6034:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6034:21: note: ')' token is here
                    _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6043:25: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6043:25: note: '{' token is here
                        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:6043:25: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:6043:25: note: ')' token is here
                        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1704:125: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uc_end, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \
                                                                                                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1705:12: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
STMT_START {                                                                        \
           ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1710:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1712:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1735:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1756:9: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6125:4: note: '{' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1758:13: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end);                     \
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6125:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1779:85: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
    }                                                                               \
                                                                                    ^
regexec.c:6125:4: note: ')' token is here
                        REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:1780:3: note: expanded from macro 'REXEC_TRIE_READ_CHAR'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6188:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REGCP_UNWIND(ST.cp);
                ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6188:17: note: '{' token is here
                REGCP_UNWIND(ST.cp);
                ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:6188:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                REGCP_UNWIND(ST.cp);
                ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:6188:17: note: ')' token is here
                REGCP_UNWIND(ST.cp);
                ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6339:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6339:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6339:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6339:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6348:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput, reginfo->strend);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6348:17: note: '{' token is here
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput, reginfo->strend);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:6348:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput, reginfo->strend);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:6348:17: note: ')' token is here
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput, reginfo->strend);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6447:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6447:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6447:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6447:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6558:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6558:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6558:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6558:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6832:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6832:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6832:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6832:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:6990:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:6990:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:6990:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:6990:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7008:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7008:17: note: '{' token is here
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:7008:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:7008:17: note: ')' token is here
                _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7216:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7216:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:7216:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:7216:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7261:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7261:13: note: '{' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:7261:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:7261:13: note: ')' token is here
            _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7508:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        CHANGE_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1210:5: note: expanded from macro 'CHANGE_MULTICALL_FLAGS'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7508:4: note: '{' token is here
                        CHANGE_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1210:16: note: expanded from macro 'CHANGE_MULTICALL_FLAGS'
    STMT_START {                                                        \
               ^
regexec.c:7508:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        CHANGE_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1225:5: note: expanded from macro 'CHANGE_MULTICALL_FLAGS'
    } STMT_END
    ^
regexec.c:7508:4: note: ')' token is here
                        CHANGE_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1225:7: note: expanded from macro 'CHANGE_MULTICALL_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7511:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1165:5: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7511:4: note: '{' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1165:16: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
    STMT_START {                                                        \
               ^
regexec.c:7511:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1171:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        CATCH_SET(TRUE);                                                \
        ^~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7511:4: note: '{' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1171:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        CATCH_SET(TRUE);                                                \
        ^~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
regexec.c:7511:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1171:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        CATCH_SET(TRUE);                                                \
        ^~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
regexec.c:7511:4: note: ')' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1171:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        CATCH_SET(TRUE);                                                \
        ^~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7511:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7511:4: note: '{' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
regexec.c:7511:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7511:4: note: '{' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regexec.c:7511:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regexec.c:7511:4: note: ')' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7511:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
regexec.c:7511:4: note: ')' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1172:2: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
        PUSHSTACKi(PERLSI_MULTICALL);                                   \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7511:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1183:5: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
    } STMT_END
    ^
regexec.c:7511:4: note: ')' token is here
                        PUSH_MULTICALL_FLAGS(newcv, flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1183:7: note: expanded from macro 'PUSH_MULTICALL_FLAGS'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7597:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(replsv);
                    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7597:21: note: '{' token is here
                    SvSETMAGIC(replsv);
                    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
regexec.c:7597:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvSETMAGIC(replsv);
                    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
regexec.c:7597:21: note: ')' token is here
                    SvSETMAGIC(replsv);
                    ^~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7733:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7733:3: note: '{' token is here
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
regexec.c:7733:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
regexec.c:7733:3: note: ')' token is here
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7769:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7769:6: note: '{' token is here
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
regexec.c:7769:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
regexec.c:7769:6: note: ')' token is here
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7777:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                regcpblow(ST.cp); /* LEAVE in disguise */
                ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7777:17: note: '{' token is here
                regcpblow(ST.cp); /* LEAVE in disguise */
                ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:7777:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                regcpblow(ST.cp); /* LEAVE in disguise */
                ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:7777:17: note: ')' token is here
                regcpblow(ST.cp); /* LEAVE in disguise */
                ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7781:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(replsv);
                ^~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7781:17: note: '{' token is here
                SvSETMAGIC(replsv);
                ^~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
regexec.c:7781:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvSETMAGIC(replsv);
                ^~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
regexec.c:7781:17: note: ')' token is here
                SvSETMAGIC(replsv);
                ^~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7797:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7797:6: note: '{' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:7797:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:7797:6: note: ')' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7811:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7811:6: note: '{' token is here
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
regexec.c:7811:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
regexec.c:7811:6: note: ')' token is here
            SET_reg_curpm(rex_sv);
            ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:7815:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:7815:6: note: '{' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:7815:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:7815:6: note: ')' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8053:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            regcpblow(ST.cp);
            ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8053:6: note: '{' token is here
            regcpblow(ST.cp);
            ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8053:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            regcpblow(ST.cp);
            ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8053:6: note: ')' token is here
            regcpblow(ST.cp);
            ^~~~~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8235:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8235:6: note: '{' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8235:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8235:6: note: ')' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8243:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8243:6: note: '{' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8243:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8243:6: note: ')' token is here
            REGCP_UNWIND(ST.lastcp);
            ^~~~~~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8350:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8350:6: note: '{' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8350:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8350:6: note: ')' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8444:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8444:6: note: '{' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8444:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8444:6: note: ')' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8460:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FIND_NEXT_IMPT(text_node);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:186:28: note: expanded from macro 'FIND_NEXT_IMPT'
#define FIND_NEXT_IMPT(rn) STMT_START {                                   \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8460:4: note: '{' token is here
                        FIND_NEXT_IMPT(text_node);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:186:39: note: expanded from macro 'FIND_NEXT_IMPT'
#define FIND_NEXT_IMPT(rn) STMT_START {                                   \
                                      ^
regexec.c:8460:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        FIND_NEXT_IMPT(text_node);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:196:7: note: expanded from macro 'FIND_NEXT_IMPT'
    } \
      ^
regexec.c:8460:4: note: ')' token is here
                        FIND_NEXT_IMPT(text_node);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:197:3: note: expanded from macro 'FIND_NEXT_IMPT'
} STMT_END 
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8537:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8537:6: note: '{' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8537:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8537:6: note: ')' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8627:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FIND_NEXT_IMPT(text_node);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:186:28: note: expanded from macro 'FIND_NEXT_IMPT'
#define FIND_NEXT_IMPT(rn) STMT_START {                                   \
                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8627:7: note: '{' token is here
                    FIND_NEXT_IMPT(text_node);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:186:39: note: expanded from macro 'FIND_NEXT_IMPT'
#define FIND_NEXT_IMPT(rn) STMT_START {                                   \
                                      ^
regexec.c:8627:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    FIND_NEXT_IMPT(text_node);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:196:7: note: expanded from macro 'FIND_NEXT_IMPT'
    } \
      ^
regexec.c:8627:7: note: ')' token is here
                    FIND_NEXT_IMPT(text_node);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:197:3: note: expanded from macro 'FIND_NEXT_IMPT'
} STMT_END 
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8714:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8714:6: note: '{' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8714:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8714:6: note: ')' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8871:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8871:6: note: '{' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:8871:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:8871:6: note: ')' token is here
            REGCP_UNWIND(ST.cp);
            ^~~~~~~~~~~~~~~~~~~
regexec.c:290:5: note: expanded from macro 'REGCP_UNWIND'
    regcpblow(cp)
    ^~~~~~~~~~~~~
regexec.c:411:23: note: expanded from macro 'regcpblow'
#define regcpblow(cp) LEAVE_SCOPE(cp)   /* Ignores regcppush()ed data. */
                      ^~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:8894:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:8894:3: note: '{' token is here
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
regexec.c:8894:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
regexec.c:8894:3: note: ')' token is here
                SET_reg_curpm(rex_sv);
                ^~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9328:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(oreplsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9328:13: note: '{' token is here
            SvSETMAGIC(oreplsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
regexec.c:9328:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSETMAGIC(oreplsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
regexec.c:9328:13: note: ')' token is here
            SvSETMAGIC(oreplsv);
            ^~~~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1192:5: note: expanded from macro 'POP_MULTICALL'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9395:2: note: '{' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1192:16: note: expanded from macro 'POP_MULTICALL'
    STMT_START {                                                        \
               ^
regexec.c:9395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1195:2: note: expanded from macro 'POP_MULTICALL'
        CX_LEAVE_SCOPE(cx);                                             \
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9395:2: note: '{' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1195:2: note: expanded from macro 'POP_MULTICALL'
        CX_LEAVE_SCOPE(cx);                                             \
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:9395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1195:2: note: expanded from macro 'POP_MULTICALL'
        CX_LEAVE_SCOPE(cx);                                             \
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:9395:2: note: ')' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1195:2: note: expanded from macro 'POP_MULTICALL'
        CX_LEAVE_SCOPE(cx);                                             \
        ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9395:2: note: '{' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
regexec.c:9395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9395:2: note: '{' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
regexec.c:9395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
regexec.c:9395:2: note: ')' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
regexec.c:9395:2: note: ')' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1201:2: note: expanded from macro 'POP_MULTICALL'
        POPSTACK;                                                       \
        ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9395:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1202:2: note: expanded from macro 'POP_MULTICALL'
        CATCH_SET(multicall_oldcatch);                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9395:2: note: '{' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1202:2: note: expanded from macro 'POP_MULTICALL'
        CATCH_SET(multicall_oldcatch);                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
regexec.c:9395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1202:2: note: expanded from macro 'POP_MULTICALL'
        CATCH_SET(multicall_oldcatch);                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
regexec.c:9395:2: note: ')' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1202:2: note: expanded from macro 'POP_MULTICALL'
        CATCH_SET(multicall_oldcatch);                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9395:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1204:5: note: expanded from macro 'POP_MULTICALL'
    } STMT_END
    ^
regexec.c:9395:2: note: ')' token is here
        POP_MULTICALL;
        ^~~~~~~~~~~~~
./cop.h:1204:7: note: expanded from macro 'POP_MULTICALL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9399:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(orig_savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9399:9: note: '{' token is here
        LEAVE_SCOPE(orig_savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
regexec.c:9399:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LEAVE_SCOPE(orig_savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
regexec.c:9399:9: note: ')' token is here
        LEAVE_SCOPE(orig_savestack_ix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9513:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9513:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:9513:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:9513:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9515:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(scan, loceol);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9515:13: note: '{' token is here
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(scan, loceol);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
regexec.c:9515:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(scan, loceol);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
regexec.c:9515:13: note: ')' token is here
            _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(scan, loceol);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9606:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9606:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:9606:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:9606:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9713:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9713:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:9713:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:9713:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:9883:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:9883:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:9883:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:9883:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:10057:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:10057:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
regexec.c:10057:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
regexec.c:10057:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:10143:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6367:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:10143:13: note: '{' token is here
            _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6367:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG'
        STMT_START {                                                        \
                   ^
regexec.c:10143:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6373:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG'
        }  STMT_END
        ^
regexec.c:10143:13: note: ')' token is here
            _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6373:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:10496:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SET_reg_curpm(reginfo->prog);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:23: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:10496:5: note: '{' token is here
    SET_reg_curpm(reginfo->prog);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:288:34: note: expanded from macro 'PM_SETRE'
#define PM_SETRE(o,r)   STMT_START {                                    \
                                   ^
regexec.c:10496:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SET_reg_curpm(reginfo->prog);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:25: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                        ^
regexec.c:10496:5: note: ')' token is here
    SET_reg_curpm(reginfo->prog);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
regexec.c:3968:2: note: expanded from macro 'SET_reg_curpm'
        PM_SETRE((PL_reg_curpm), (Re2));            \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./op.h:292:27: note: expanded from macro 'PM_SETRE'
                        } STMT_END
                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:10599:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:10599:7: note: '{' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regexec.c:10599:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regexec.c:10599:7: note: ')' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
regexec.c:10635:21: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
regexec.c:10635:21: note: '{' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
regexec.c:10635:21: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
regexec.c:10635:21: note: ')' token is here
                    SvCUR_set(sv, SvCUR(sv) - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
348 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC utf8.c
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from utf8.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:58:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(PL_curcop, (STRLEN*) p);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:42: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:58:5: note: '{' token is here
    free_and_set_cop_warnings(PL_curcop, (STRLEN*) p);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:228:53: note: expanded from macro 'free_and_set_cop_warnings'
#define free_and_set_cop_warnings(cmp,w) STMT_START { \
                                                    ^
utf8.c:58:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    free_and_set_cop_warnings(PL_curcop, (STRLEN*) p);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:230:28: note: expanded from macro 'free_and_set_cop_warnings'
  (cmp)->cop_warnings = w; \
                           ^
utf8.c:58:5: note: ')' token is here
    free_and_set_cop_warnings(PL_curcop, (STRLEN*) p);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./warnings.h:231:3: note: expanded from macro 'free_and_set_cop_warnings'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:299:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:188:5: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    STMT_START {                                                    \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:299:17: note: '{' token is here
                HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:188:16: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    STMT_START {                                                    \
               ^
utf8.c:299:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:204:5: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    } STMT_END;
    ^
utf8.c:299:17: note: ')' token is here
                HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:204:7: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    } STMT_END;
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:302:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:169:5: note: expanded from macro 'HANDLE_UNICODE_SURROGATE'
    STMT_START {                                                    \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:302:17: note: '{' token is here
                HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:169:16: note: expanded from macro 'HANDLE_UNICODE_SURROGATE'
    STMT_START {                                                    \
               ^
utf8.c:302:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:185:5: note: expanded from macro 'HANDLE_UNICODE_SURROGATE'
    } STMT_END;
    ^
utf8.c:302:17: note: ')' token is here
                HANDLE_UNICODE_SURROGATE(uv, flags, msgs);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:185:7: note: expanded from macro 'HANDLE_UNICODE_SURROGATE'
    } STMT_END;
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:360:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:188:5: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    STMT_START {                                                    \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:360:9: note: '{' token is here
        HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:188:16: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    STMT_START {                                                    \
               ^
utf8.c:360:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:204:5: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    } STMT_END;
    ^
utf8.c:360:9: note: ')' token is here
        HANDLE_UNICODE_NONCHAR(uv, flags, msgs);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:204:7: note: expanded from macro 'HANDLE_UNICODE_NONCHAR'
    } STMT_END;
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3109:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3109:9: note: '{' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
utf8.c:3109:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
utf8.c:3109:9: note: ')' token is here
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3513:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(p, p + UTF8SKIP(p));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:2: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3513:9: note: '{' token is here
        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(p, p + UTF8SKIP(p));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6376:13: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        STMT_START { /* Check if to warn before doing the conversion work */\
                   ^
utf8.c:3513:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(p, p + UTF8SKIP(p));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:9: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
        ^
utf8.c:3513:9: note: ')' token is here
        _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(p, p + UTF8SKIP(p));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6386:12: note: expanded from macro '_CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG'
        }  STMT_END
           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3759:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 'S',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3759:5: note: '{' token is here
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 'S',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
utf8.c:3759:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 'S',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
utf8.c:3759:5: note: ')' token is here
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 'S',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3783:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 's',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3783:5: note: '{' token is here
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 's',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
utf8.c:3783:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 's',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
utf8.c:3783:5: note: ')' token is here
    CASE_CHANGE_BODY_START(~0, toUPPER_LC, _to_upper_title_latin1, 's',
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3805:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toLOWER_LC, to_lower_latin1, 0 /* 0 is dummy */,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3805:5: note: '{' token is here
    CASE_CHANGE_BODY_START(~0, toLOWER_LC, to_lower_latin1, 0 /* 0 is dummy */,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
utf8.c:3805:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(~0, toLOWER_LC, to_lower_latin1, 0 /* 0 is dummy */,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
utf8.c:3805:5: note: ')' token is here
    CASE_CHANGE_BODY_START(~0, toLOWER_LC, to_lower_latin1, 0 /* 0 is dummy */,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
utf8.c:3837:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(FOLD_FLAGS_LOCALE, toFOLD_LC, _to_fold_latin1,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
utf8.c:3837:5: note: '{' token is here
    CASE_CHANGE_BODY_START(FOLD_FLAGS_LOCALE, toFOLD_LC, _to_fold_latin1,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6352:28: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                STMT_START {                                                  \
                           ^
utf8.c:3837:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CASE_CHANGE_BODY_START(FOLD_FLAGS_LOCALE, toFOLD_LC, _to_fold_latin1,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:17: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                ^
utf8.c:3837:5: note: ')' token is here
    CASE_CHANGE_BODY_START(FOLD_FLAGS_LOCALE, toFOLD_LC, _to_fold_latin1,
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
utf8.c:3682:9: note: expanded from macro 'CASE_CHANGE_BODY_START'
        _CHECK_AND_WARN_PROBLEMATIC_LOCALE;                                  \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6356:20: note: expanded from macro '_CHECK_AND_WARN_PROBLEMATIC_LOCALE'
                }  STMT_END
                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
118 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC taint.c
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from taint.c:24:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC deb.c
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from deb.c:25:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC universal.c
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from universal.c:30:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:236:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:236:9: note: '{' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:236:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:236:9: note: ')' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:237:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:237:9: note: '{' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
universal.c:237:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
universal.c:237:9: note: ')' token is here
        PUSHMARK(SP);
        ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:303:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:303:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
universal.c:303:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
universal.c:303:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:304:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:304:5: note: '{' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:304:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:304:5: note: ')' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:312:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(methodname, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:312:5: note: '{' token is here
    SvLEN_set(methodname, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
universal.c:312:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(methodname, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
universal.c:312:5: note: ')' token is here
    SvLEN_set(methodname, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:313:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(methodname, strlen(PL_isa_DOES));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:313:5: note: '{' token is here
    SvCUR_set(methodname, strlen(PL_isa_DOES));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
universal.c:313:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(methodname, strlen(PL_isa_DOES));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
universal.c:313:5: note: ')' token is here
    SvCUR_set(methodname, strlen(PL_isa_DOES));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:434:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:434:6: note: '{' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:434:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:434:6: note: '{' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:434:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:434:6: note: ')' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:434:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:434:6: note: ')' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:437:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:437:2: note: '{' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:437:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:437:2: note: ')' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:461:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:461:2: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:461:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:461:2: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:461:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:461:2: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:461:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:461:2: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:489:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:489:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:489:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:489:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:503:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:503:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:503:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:503:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:503:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:503:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:503:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:503:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:505:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:505:2: note: '{' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:505:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:505:2: note: '{' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:505:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:505:2: note: ')' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:505:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:505:2: note: ')' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:519:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:519:3: note: '{' token is here
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:519:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:519:3: note: '{' token is here
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:519:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:519:3: note: ')' token is here
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:519:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:519:3: note: ')' token is here
                XSRETURN_YES;
                ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:521:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:521:3: note: '{' token is here
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:521:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:521:3: note: '{' token is here
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:521:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:521:3: note: ')' token is here
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:521:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:521:3: note: ')' token is here
                XSRETURN_NO;
                ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:523:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:523:6: note: '{' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
universal.c:523:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:523:6: note: '{' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:523:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:523:6: note: ')' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:523:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
universal.c:523:6: note: ')' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:537:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:537:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:537:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:537:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:537:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:537:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:537:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:537:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:539:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:539:6: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:539:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:539:6: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:539:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:539:6: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:539:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:539:6: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:541:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:541:6: note: '{' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
universal.c:541:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:541:6: note: '{' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:541:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:541:6: note: ')' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:541:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
universal.c:541:6: note: ')' token is here
     XSRETURN_EMPTY;
     ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:551:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(ST(0));
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:551:5: note: '{' token is here
    SvSETMAGIC(ST(0));
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
universal.c:551:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(ST(0));
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
universal.c:551:5: note: ')' token is here
    SvSETMAGIC(ST(0));
    ^~~~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:552:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
universal.c:552:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:552:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:552:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:552:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
universal.c:552:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:566:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:566:2: note: '{' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
universal.c:566:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
universal.c:566:2: note: ')' token is here
        SvSETMAGIC(sv);
        ^~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:569:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:569:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:569:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:569:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:584:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:18: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:584:13: note: '{' token is here
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:29: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                   ^
universal.c:584:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:5: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:584:13: note: '{' token is here
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:392:16: note: expanded from macro 'TARGi'
    STMT_START {                                                        \
               ^
universal.c:584:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:5: note: expanded from macro 'TARGi'
    } STMT_END
    ^
universal.c:584:13: note: ')' token is here
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:31: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                     ^~~~~~~~~~
./pp.h:409:7: note: expanded from macro 'TARGi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:584:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:56: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                              ^
universal.c:584:13: note: ')' token is here
        XSprePUSH; PUSHi((IV)RETVAL);
                   ^~~~~~~~~~~~~~~~~
./pp.h:459:58: note: expanded from macro 'PUSHi'
#define PUSHi(i)        STMT_START { TARGi(i,1); PUSHs(TARG); } STMT_END
                                                                ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:586:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:586:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:586:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:586:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:603:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:603:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:603:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:603:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:616:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:616:2: note: '{' token is here
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:616:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:616:2: note: ')' token is here
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:629:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:629:2: note: '{' token is here
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:629:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:629:2: note: ')' token is here
 XSRETURN(1);
 ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:647:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:647:7: note: '{' token is here
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:647:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:647:7: note: '{' token is here
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:647:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:647:7: note: ')' token is here
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:647:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:647:7: note: ')' token is here
             XSRETURN_YES;
             ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:649:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:649:7: note: '{' token is here
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:649:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:649:7: note: '{' token is here
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:649:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:649:7: note: ')' token is here
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:649:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:649:7: note: ')' token is here
             XSRETURN_NO;
             ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:655:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:655:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:655:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:655:6: note: '{' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:655:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:655:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:655:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:655:6: note: ')' token is here
            XSRETURN_YES;
            ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:660:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:660:6: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:660:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:660:6: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:660:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:660:6: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:660:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:660:6: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:663:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:663:5: note: '{' token is here
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:663:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:663:5: note: '{' token is here
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:663:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:663:5: note: ')' token is here
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:663:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:663:5: note: ')' token is here
    XSRETURN_UNDEF; /* Can't happen. */
    ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:689:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:689:5: note: '{' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:689:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:689:5: note: ')' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:712:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:24: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:712:5: note: '{' token is here
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:35: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                  ^
universal.c:712:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:52: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:712:5: note: '{' token is here
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:52: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:712:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:52: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:712:5: note: ')' token is here
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:52: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:712:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:65: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                                ^
universal.c:712:5: note: ')' token is here
    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
    ^~~~~~~~~~~~~~~~~~~~~~~
./XSUB.h:323:67: note: expanded from macro 'XSRETURN_UV'
#define XSRETURN_UV(v) STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:726:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:726:2: note: '{' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:726:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:726:2: note: ')' token is here
        XSRETURN(0);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:804:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  EXTEND(SP, 3); /* Three is the max in all branches: better check just once */
                  ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:804:5: note: '{' token is here
                  EXTEND(SP, 3); /* Three is the max in all branches: better check just once */
                  ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:804:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                  EXTEND(SP, 3); /* Three is the max in all branches: better check just once */
                  ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:804:5: note: ')' token is here
                  EXTEND(SP, 3); /* Three is the max in all branches: better check just once */
                  ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:847:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN(nitem);
             ^~~~~~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:847:7: note: '{' token is here
             XSRETURN(nitem);
             ^~~~~~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:847:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
             XSRETURN(nitem);
             ^~~~~~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:847:7: note: ')' token is here
             XSRETURN(nitem);
             ^~~~~~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:852:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:852:5: note: '{' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:852:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:852:5: note: ')' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:864:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:24: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:864:9: note: '{' token is here
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:35: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                  ^
universal.c:864:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:864:9: note: '{' token is here
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:864:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:864:9: note: ')' token is here
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:52: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:864:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:65: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                ^
universal.c:864:9: note: ')' token is here
        XSRETURN_YES;
        ^~~~~~~~~~~~
./XSUB.h:328:67: note: expanded from macro 'XSRETURN_YES'
#define XSRETURN_YES   STMT_START { XST_mYES(0);   XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:866:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:866:9: note: '{' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:866:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:866:9: note: '{' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:866:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:866:9: note: ')' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:866:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:866:9: note: ')' token is here
        XSRETURN_NO;
        ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:881:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:881:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:881:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:881:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:881:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:881:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:881:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:881:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:887:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:887:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:887:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:887:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:907:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:907:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:907:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:907:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:907:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:907:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:907:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:907:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:918:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:918:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:918:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:918:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:940:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:940:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:940:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:940:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:940:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:940:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:940:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:940:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:956:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:956:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:956:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:956:9: note: '{' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:956:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:956:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:956:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:956:9: note: ')' token is here
        XSRETURN_UNDEF;
        ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:961:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, length+1); /* better extend stack just once */
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:961:5: note: '{' token is here
    EXTEND(SP, length+1); /* better extend stack just once */
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:961:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, length+1); /* better extend stack just once */
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:961:5: note: ')' token is here
    EXTEND(SP, length+1); /* better extend stack just once */
    ^~~~~~~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:984:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:984:5: note: '{' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:984:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:984:5: note: ')' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1042:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN(2);
            ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1042:13: note: '{' token is here
            XSRETURN(2);
            ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1042:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN(2);
            ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1042:13: note: ')' token is here
            XSRETURN(2);
            ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1048:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN(1);
            ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1048:13: note: '{' token is here
            XSRETURN(1);
            ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1048:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN(1);
            ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1048:13: note: ')' token is here
            XSRETURN(1);
            ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1054:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1054:13: note: '{' token is here
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
universal.c:1054:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1054:13: note: '{' token is here
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1054:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1054:13: note: ')' token is here
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1054:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
universal.c:1054:13: note: ')' token is here
            XSRETURN_EMPTY;
            ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1067:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:24: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1067:13: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:35: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                  ^
universal.c:1067:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1067:13: note: '{' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1067:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1067:13: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:52: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1067:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:65: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                ^
universal.c:1067:13: note: ')' token is here
            XSRETURN_NO;
            ^~~~~~~~~~~
./XSUB.h:327:67: note: expanded from macro 'XSRETURN_NO'
#define XSRETURN_NO    STMT_START { XST_mNO(0);    XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1085:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1085:5: note: '{' token is here
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
universal.c:1085:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
universal.c:1085:5: note: ')' token is here
    SvTAINTED_on(sv);
    ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1087:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1087:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1087:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1087:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1105:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(rv, newSVuv(
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:9: note: expanded from macro 'SvRV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1105:9: note: '{' token is here
        SvRV_set(rv, newSVuv(
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1325:20: note: expanded from macro 'SvRV_set'
        STMT_START { \
                   ^
universal.c:1105:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvRV_set(rv, newSVuv(
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:46: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                             ^
universal.c:1105:9: note: ')' token is here
        SvRV_set(rv, newSVuv(
        ^~~~~~~~~~~~~~~~~~~~~
./sv.h:1330:48: note: expanded from macro 'SvRV_set'
                ((sv)->sv_u.svu_rv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1115:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
universal.c:1115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1115:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1115:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
universal.c:1115:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1137:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1137:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1137:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1137:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1175:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1175:3: note: '{' token is here
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:1175:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1175:3: note: '{' token is here
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1175:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1175:3: note: ')' token is here
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1175:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:1175:3: note: ')' token is here
                XSRETURN_UNDEF;
                ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1215:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:24: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1215:6: note: '{' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:35: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                  ^
universal.c:1215:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1215:6: note: '{' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
universal.c:1215:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
universal.c:1215:6: note: ')' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:52: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1215:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:65: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                ^
universal.c:1215:6: note: ')' token is here
            XSRETURN_UNDEF;
            ^~~~~~~~~~~~~~
./XSUB.h:329:67: note: expanded from macro 'XSRETURN_UNDEF'
#define XSRETURN_UNDEF STMT_START { XST_mUNDEF(0); XSRETURN(1); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
universal.c:1239:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
universal.c:1239:2: note: '{' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
universal.c:1239:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
universal.c:1239:2: note: ')' token is here
        EXTEND(SP, 2);
        ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:188:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:188:5: note: '{' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
In file included from universal.c:1248:
./vxs.inc:188:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
./vxs.inc:188:5: note: ')' token is here
    XSRETURN(1);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:258:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    VXS_RETURN_M_SV(rv);
    ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:258:5: note: '{' token is here
    VXS_RETURN_M_SV(rv);
    ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:258:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    VXS_RETURN_M_SV(rv);
    ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:258:5: note: ')' token is here
    VXS_RETURN_M_SV(rv);
    ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:279:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:279:4: note: '{' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:279:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:279:4: note: ')' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:281:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VSTRINGIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:281:4: note: '{' token is here
          VXS_RETURN_M_SV(VSTRINGIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:281:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VSTRINGIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:281:4: note: ')' token is here
          VXS_RETURN_M_SV(VSTRINGIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:293:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:293:4: note: '{' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:293:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:293:4: note: ')' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:294:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VNUMIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:294:4: note: '{' token is here
          VXS_RETURN_M_SV(VNUMIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:294:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VNUMIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:294:4: note: ')' token is here
          VXS_RETURN_M_SV(VNUMIFY(lobj));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:306:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(ver, ST(0), "ver");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:306:4: note: '{' token is here
          VTYPECHECK(ver, ST(0), "ver");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:306:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(ver, ST(0), "ver");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:306:4: note: ')' token is here
          VTYPECHECK(ver, ST(0), "ver");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:308:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VNORMAL(ver));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:308:4: note: '{' token is here
          VXS_RETURN_M_SV(VNORMAL(ver));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:308:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VXS_RETURN_M_SV(VNORMAL(ver));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:308:4: note: ')' token is here
          VXS_RETURN_M_SV(VNORMAL(ver));
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:320:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:320:4: note: '{' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:320:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:320:4: note: ')' token is here
          VTYPECHECK(lobj, ST(0), "lobj");
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:342:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               VXS_RETURN_M_SV(rs);
               ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:342:9: note: '{' token is here
               VXS_RETURN_M_SV(rs);
               ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:342:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
               VXS_RETURN_M_SV(rs);
               ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:342:9: note: ')' token is here
               VXS_RETURN_M_SV(rs);
               ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:354:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    VTYPECHECK(lobj, ST(0), "lobj");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:354:5: note: '{' token is here
    VTYPECHECK(lobj, ST(0), "lobj");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:354:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    VTYPECHECK(lobj, ST(0), "lobj");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:354:5: note: ')' token is here
    VTYPECHECK(lobj, ST(0), "lobj");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:363:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        VXS_RETURN_M_SV(rs);
        ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:5: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:363:2: note: '{' token is here
        VXS_RETURN_M_SV(rs);
        ^~~~~~~~~~~~~~~~~~~
./vxs.inc:27:16: note: expanded from macro 'VXS_RETURN_M_SV'
    STMT_START {                                                        \
               ^
./vxs.inc:363:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        VXS_RETURN_M_SV(rs);
        ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:5: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
    ^
./vxs.inc:363:2: note: ')' token is here
        VXS_RETURN_M_SV(rs);
        ^~~~~~~~~~~~~~~~~~~
./vxs.inc:33:7: note: expanded from macro 'VXS_RETURN_M_SV'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:376:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:24: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                       ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:376:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:35: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                  ^
In file included from universal.c:1248:
./vxs.inc:376:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:376:5: note: '{' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
In file included from universal.c:1248:
./vxs.inc:376:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
./vxs.inc:376:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:52: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                   ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:376:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:65: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                ^
./vxs.inc:376:5: note: ')' token is here
    XSRETURN_EMPTY;
    ^~~~~~~~~~~~~~
./XSUB.h:330:67: note: expanded from macro 'XSRETURN_EMPTY'
#define XSRETURN_EMPTY STMT_START {                XSRETURN(0); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:389:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        VTYPECHECK(lobj, lobj, "lobj");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:5: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:389:2: note: '{' token is here
        VTYPECHECK(lobj, lobj, "lobj");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:262:16: note: expanded from macro 'VTYPECHECK'
    STMT_START {                                                        \
               ^
./vxs.inc:389:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        VTYPECHECK(lobj, lobj, "lobj");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:5: note: expanded from macro 'VTYPECHECK'
    } STMT_END
    ^
./vxs.inc:389:2: note: ')' token is here
        VTYPECHECK(lobj, lobj, "lobj");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vxs.inc:269:7: note: expanded from macro 'VTYPECHECK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from universal.c:1248:
./vxs.inc:441:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetSV_nosteal(rv,ver); /* make a duplicate */
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:2: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./vxs.inc:441:6: note: '{' token is here
            SvSetSV_nosteal(rv,ver); /* make a duplicate */
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2154:13: note: expanded from macro 'SvSetSV_nosteal_and'
        STMT_START {                                    \
                   ^
In file included from universal.c:1248:
./vxs.inc:441:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvSetSV_nosteal(rv,ver); /* make a duplicate */
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:2: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
        ^
./vxs.inc:441:6: note: ')' token is here
            SvSetSV_nosteal(rv,ver); /* make a duplicate */
            ^~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2164:3: note: expanded from macro 'SvSetSV_nosteal'
                SvSetSV_nosteal_and(dst,src,/*nothing*/;)
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:2159:4: note: expanded from macro 'SvSetSV_nosteal_and'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
308 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC globals.c
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from globals.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC perlio.c
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from perlio.c:43:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:373:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len1 = my_snprintf(buffer, sizeof(buffer), "%.40s:%" IVdf " ", s ? s : "(none)", (IV) CopLINE(PL_curcop));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:373:22: note: '{' token is here
        const STRLEN len1 = my_snprintf(buffer, sizeof(buffer), "%.40s:%" IVdf " ", s ? s : "(none)", (IV) CopLINE(PL_curcop));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
perlio.c:373:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len1 = my_snprintf(buffer, sizeof(buffer), "%.40s:%" IVdf " ", s ? s : "(none)", (IV) CopLINE(PL_curcop));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
perlio.c:373:22: note: ')' token is here
        const STRLEN len1 = my_snprintf(buffer, sizeof(buffer), "%.40s:%" IVdf " ", s ? s : "(none)", (IV) CopLINE(PL_curcop));
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:385:22: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len2 = my_vsnprintf(buffer + len1, sizeof(buffer) - len1, fmt, ap);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1836:96: note: expanded from macro 'my_vsnprintf'
#      define my_vsnprintf(buffer, max, ...) ({ int len = vsnprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, vsnprintf); len; })
                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:385:22: note: '{' token is here
        const STRLEN len2 = my_vsnprintf(buffer + len1, sizeof(buffer) - len1, fmt, ap);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1836:96: note: expanded from macro 'my_vsnprintf'
#      define my_vsnprintf(buffer, max, ...) ({ int len = vsnprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, vsnprintf); len; })
                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
perlio.c:385:22: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        const STRLEN len2 = my_vsnprintf(buffer + len1, sizeof(buffer) - len1, fmt, ap);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1836:96: note: expanded from macro 'my_vsnprintf'
#      define my_vsnprintf(buffer, max, ...) ({ int len = vsnprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, vsnprintf); len; })
                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
perlio.c:385:22: note: ')' token is here
        const STRLEN len2 = my_vsnprintf(buffer + len1, sizeof(buffer) - len1, fmt, ap);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1836:96: note: expanded from macro 'my_vsnprintf'
#      define my_vsnprintf(buffer, max, ...) ({ int len = vsnprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, vsnprintf); len; })
                                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:387:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(PL_perlio_debug_fd, buffer, len1 + len2));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:387:2: note: '{' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(PL_perlio_debug_fd, buffer, len1 + len2));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
perlio.c:387:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        PERL_UNUSED_RESULT(PerlLIO_write(PL_perlio_debug_fd, buffer, len1 + len2));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
perlio.c:387:2: note: ')' token is here
        PERL_UNUSED_RESULT(PerlLIO_write(PL_perlio_debug_fd, buffer, len1 + len2));
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:861:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:861:5: note: '{' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
perlio.c:861:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
perlio.c:861:5: note: ')' token is here
    XSRETURN(0);
    ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:878:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:5: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:878:2: note: '{' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:315:16: note: expanded from macro 'XSRETURN'
    STMT_START {                                        \
               ^
perlio.c:878:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:5: note: expanded from macro 'XSRETURN'
    } STMT_END
    ^
perlio.c:878:2: note: ')' token is here
        XSRETURN(1);
        ^~~~~~~~~~~
./XSUB.h:320:7: note: expanded from macro 'XSRETURN'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2282:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2282:2: note: '{' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
perlio.c:2282:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
perlio.c:2282:2: note: ')' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2311:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2311:2: note: '{' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
perlio.c:2311:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
perlio.c:2311:2: note: ')' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2324:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2324:2: note: '{' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
perlio.c:2324:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
perlio.c:2324:2: note: ')' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2341:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2341:2: note: '{' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
perlio.c:2341:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
perlio.c:2341:2: note: ')' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2354:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2354:2: note: '{' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
perlio.c:2354:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
perlio.c:2354:2: note: ')' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2369:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2369:2: note: '{' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
perlio.c:2369:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
perlio.c:2369:2: note: ')' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:2381:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:2381:2: note: '{' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
perlio.c:2381:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
perlio.c:2381:2: note: ')' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:3294:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:3294:9: note: '{' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
perlio.c:3294:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
perlio.c:3294:9: note: ')' token is here
        MUTEX_LOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
perlio.c:3350:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
perlio.c:3350:9: note: '{' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
perlio.c:3350:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
perlio.c:3350:9: note: ')' token is here
        MUTEX_UNLOCK(&PL_perlio_mutex);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
126 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC perlapi.c
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from perlapi.c:28:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC numeric.c
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from numeric.c:30:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:40:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STORE_LC_NUMERIC_SET_TO_NEEDED();
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:40:5: note: '{' token is here
    STORE_LC_NUMERIC_SET_TO_NEEDED();
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
numeric.c:40:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STORE_LC_NUMERIC_SET_TO_NEEDED();
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
numeric.c:40:5: note: ')' token is here
    STORE_LC_NUMERIC_SET_TO_NEEDED();
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:73:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RESTORE_LC_NUMERIC();
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:73:5: note: '{' token is here
    RESTORE_LC_NUMERIC();
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
numeric.c:73:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    RESTORE_LC_NUMERIC();
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
numeric.c:73:5: note: ')' token is here
    RESTORE_LC_NUMERIC();
    ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:680:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:2: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:680:9: note: '{' token is here
        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:13: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
                   ^
numeric.c:680:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:9: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
        ^
numeric.c:680:9: note: ')' token is here
        STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:11: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:685:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:685:9: note: '{' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
numeric.c:685:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
numeric.c:685:9: note: ')' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1484:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_TO_NEEDED();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1484:9: note: '{' token is here
        STORE_LC_NUMERIC_SET_TO_NEEDED();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6727:20: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        STMT_START {                                                        \
                   ^
numeric.c:1484:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        STORE_LC_NUMERIC_SET_TO_NEEDED();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
        ^
numeric.c:1484:9: note: ')' token is here
        STORE_LC_NUMERIC_SET_TO_NEEDED();
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6749:9: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED'
        STORE_LC_NUMERIC_SET_TO_NEEDED_IN(IN_LC(LC_NUMERIC))
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6746:11: note: expanded from macro 'STORE_LC_NUMERIC_SET_TO_NEEDED_IN'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1504:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6762:2: note: expanded from macro 'SET_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1504:17: note: '{' token is here
                SET_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6762:13: note: expanded from macro 'SET_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
numeric.c:1504:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6770:9: note: expanded from macro 'SET_NUMERIC_STANDARD'
        } STMT_END
        ^
numeric.c:1504:17: note: ')' token is here
                SET_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:6770:11: note: expanded from macro 'SET_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1505:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                LOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6804:9: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1505:17: note: '{' token is here
                LOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6804:20: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
numeric.c:1505:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                LOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6810:9: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        } STMT_END
        ^
numeric.c:1505:17: note: ')' token is here
                LOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6810:11: note: expanded from macro 'LOCK_LC_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1511:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                UNLOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6813:9: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1511:17: note: '{' token is here
                UNLOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6813:20: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        STMT_START {                                                        \
                   ^
numeric.c:1511:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                UNLOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6823:9: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        } STMT_END
        ^
numeric.c:1511:17: note: ')' token is here
                UNLOCK_LC_NUMERIC_STANDARD();
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6823:11: note: expanded from macro 'UNLOCK_LC_NUMERIC_STANDARD'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1512:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_NUMERIC_UNDERLYING();
                ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6773:2: note: expanded from macro 'SET_NUMERIC_UNDERLYING'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1512:17: note: '{' token is here
                SET_NUMERIC_UNDERLYING();
                ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6773:13: note: expanded from macro 'SET_NUMERIC_UNDERLYING'
        STMT_START {                                                        \
                   ^
numeric.c:1512:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SET_NUMERIC_UNDERLYING();
                ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6777:9: note: expanded from macro 'SET_NUMERIC_UNDERLYING'
        } STMT_END
        ^
numeric.c:1512:17: note: ')' token is here
                SET_NUMERIC_UNDERLYING();
                ^~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6777:11: note: expanded from macro 'SET_NUMERIC_UNDERLYING'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
numeric.c:1515:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
numeric.c:1515:9: note: '{' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
numeric.c:1515:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
numeric.c:1515:9: note: ')' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
118 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC mathoms.c
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from mathoms.c:66:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
mathoms.c:1023:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    save_freeop(o);
    ^~~~~~~~~~~~~~
./scope.h:325:45: note: expanded from macro 'save_freeop'
# define save_freeop(op)                    \
                                            ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
mathoms.c:1023:5: note: '{' token is here
    save_freeop(o);
    ^~~~~~~~~~~~~~
./scope.h:326:12: note: expanded from macro 'save_freeop'
STMT_START {                                 \
           ^
mathoms.c:1023:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    save_freeop(o);
    ^~~~~~~~~~~~~~
./scope.h:331:5: note: expanded from macro 'save_freeop'
    } STMT_END
    ^
mathoms.c:1023:5: note: ')' token is here
    save_freeop(o);
    ^~~~~~~~~~~~~~
./scope.h:331:7: note: expanded from macro 'save_freeop'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
100 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC locale.c
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from locale.c:49:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:314:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        my_snprintf(unknown, length, "%d%s", category, suffix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:44: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                           ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:314:9: note: '{' token is here
        my_snprintf(unknown, length, "%d%s", category, suffix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:55: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                      ^
locale.c:314:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        my_snprintf(unknown, length, "%d%s", category, suffix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:162: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                 ^
locale.c:314:9: note: ')' token is here
        my_snprintf(unknown, length, "%d%s", category, suffix);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1822:94: note: expanded from macro 'my_snprintf'
#      define my_snprintf(buffer, max, ...) ({ int len = snprintf(buffer, max, __VA_ARGS__); PERL_SNPRINTF_CHECK(len, max, snprintf); len; })
                                                                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:1815:164: note: expanded from macro 'PERL_SNPRINTF_CHECK'
#define PERL_SNPRINTF_CHECK(len, max, api) STMT_START { if ((max) > 0 && (Size_t)len > (max)) Perl_croak_nocontext("panic: %s buffer overflow", STRINGIFY(api)); } STMT_END
                                                                                                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:2330:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:2: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:2330:13: note: '{' token is here
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:13: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
                   ^
locale.c:2330:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:9: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
        ^
locale.c:2330:13: note: ')' token is here
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:11: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:2346:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:2346:9: note: '{' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
locale.c:2346:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
locale.c:2346:9: note: ')' token is here
        RESTORE_LC_NUMERIC();
        ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:2608:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:2: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:2608:13: note: '{' token is here
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6793:13: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        STMT_START {                                                        \
                   ^
locale.c:2608:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:9: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
        ^
locale.c:2608:13: note: ')' token is here
            STORE_LC_NUMERIC_FORCE_TO_UNDERLYING();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:6799:11: note: expanded from macro 'STORE_LC_NUMERIC_FORCE_TO_UNDERLYING'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:2625:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RESTORE_LC_NUMERIC();
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:2625:13: note: '{' token is here
            RESTORE_LC_NUMERIC();
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6752:20: note: expanded from macro 'RESTORE_LC_NUMERIC'
        STMT_START {                                                        \
                   ^
locale.c:2625:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            RESTORE_LC_NUMERIC();
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:9: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
        ^
locale.c:2625:13: note: ')' token is here
            RESTORE_LC_NUMERIC();
            ^~~~~~~~~~~~~~~~~~~~
./perl.h:6757:11: note: expanded from macro 'RESTORE_LC_NUMERIC'
        } STMT_END
          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
locale.c:4800:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(mbrtowc(&wc, NULL, 0, &ps)); /* Reset any shift
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:35: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
locale.c:4800:13: note: '{' token is here
            PERL_UNUSED_RESULT(mbrtowc(&wc, NULL, 0, &ps)); /* Reset any shift
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:46: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                             ^
locale.c:4800:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PERL_UNUSED_RESULT(mbrtowc(&wc, NULL, 0, &ps)); /* Reset any shift
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:88: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                       ^
locale.c:4800:13: note: ')' token is here
            PERL_UNUSED_RESULT(mbrtowc(&wc, NULL, 0, &ps)); /* Reset any shift
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./perl.h:496:90: note: expanded from macro 'PERL_UNUSED_RESULT'
#    define PERL_UNUSED_RESULT(v) STMT_START { __typeof__(v) z = (v); (void)sizeof(z); } STMT_END
                                                                                         ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
110 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp_pack.c
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp_pack.c:33:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:850:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TEMPSYM_INIT(&sym, pat, patend, flags);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:58:5: note: expanded from macro 'TEMPSYM_INIT'
    STMT_START {        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:850:5: note: '{' token is here
    TEMPSYM_INIT(&sym, pat, patend, flags);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:58:16: note: expanded from macro 'TEMPSYM_INIT'
    STMT_START {        \
               ^
pp_pack.c:850:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TEMPSYM_INIT(&sym, pat, patend, flags);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:71:4: note: expanded from macro 'TEMPSYM_INIT'
   } STMT_END
   ^
pp_pack.c:850:5: note: ')' token is here
    TEMPSYM_INIT(&sym, pat, patend, flags);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:71:6: note: expanded from macro 'TEMPSYM_INIT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:912:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:912:3: note: '{' token is here
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:912:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:912:3: note: ')' token is here
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:913:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:913:3: note: '{' token is here
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_pack.c:913:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_pack.c:913:3: note: ')' token is here
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:970:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:970:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:970:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:970:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:970:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:970:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:970:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:970:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1119:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1119:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:1119:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1119:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1119:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1119:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1119:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:1119:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1182:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, str - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1182:6: note: '{' token is here
            SvCUR_set(sv, str - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:1182:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(sv, str - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:1182:6: note: ')' token is here
            SvCUR_set(sv, str - SvPVX_const(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1183:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1183:6: note: '{' token is here
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:1183:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1183:6: note: '{' token is here
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1183:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1183:6: note: ')' token is here
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1183:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:1183:6: note: ')' token is here
            XPUSHs(sv);
            ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1224:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, str - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1224:3: note: '{' token is here
                SvCUR_set(sv, str - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:1224:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SvCUR_set(sv, str - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:1224:3: note: ')' token is here
                SvCUR_set(sv, str - SvPVX_const(sv));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1225:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1225:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:1225:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1225:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1225:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1225:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1225:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:1225:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1302:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1302:3: note: '{' token is here
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1302:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1302:3: note: ')' token is here
                EXTEND(SP, len);
                ^~~~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1303:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:548:5: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1303:3: note: '{' token is here
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:548:16: note: expanded from macro 'EXTEND_MORTAL'
    STMT_START {                                                \
               ^
pp_pack.c:1303:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:552:5: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
    ^
pp_pack.c:1303:3: note: ')' token is here
                EXTEND_MORTAL(len);
                ^~~~~~~~~~~~~~~~~~
./pp.h:552:7: note: expanded from macro 'EXTEND_MORTAL'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1365:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1365:17: note: '{' token is here
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1365:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1365:17: note: ')' token is here
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1402:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &au16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1402:17: note: '{' token is here
                SHIFT16(utf8, s, strend, &au16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1402:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &au16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1402:17: note: ')' token is here
                SHIFT16(utf8, s, strend, &au16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1422:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1422:17: note: '{' token is here
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1422:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1422:17: note: ')' token is here
                SHIFT16(utf8, s, strend, &ai16, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:162:8: note: expanded from macro 'SHIFT16'
       SHIFT_BYTES(utf8, s, strend, OFF16(p), SIZE16, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1441:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1441:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1441:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1441:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1454:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1454:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, auint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1454:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1454:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, auint, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1466:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aiv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1466:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aiv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1466:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aiv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1466:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aiv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1478:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1478:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, auv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1478:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1478:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, auv, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1491:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, along, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1491:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, along, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1491:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, along, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1491:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, along, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1509:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1509:17: note: '{' token is here
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1509:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1509:17: note: ')' token is here
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1525:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aulong, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1525:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aulong, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1525:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aulong, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1525:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aulong, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1545:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &au32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1545:17: note: '{' token is here
                SHIFT32(utf8, s, strend, &au32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1545:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &au32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1545:17: note: ')' token is here
                SHIFT32(utf8, s, strend, &au32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1565:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1565:17: note: '{' token is here
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1565:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1565:17: note: ')' token is here
                SHIFT32(utf8, s, strend, &ai32, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:165:8: note: expanded from macro 'SHIFT32'
       SHIFT_BYTES(utf8, s, strend, OFF32(p), SIZE32, datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1583:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1583:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1583:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1583:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1635:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1635:6: note: '{' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1635:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1635:6: note: ')' token is here
            EXTEND(SP, 1);
            ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1638:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1638:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1638:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1638:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aptr, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1647:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1647:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, aquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1647:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, aquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1647:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, aquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1659:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1659:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, auquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1659:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, auquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1659:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, auquad, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1673:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, afloat, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1673:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, afloat, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1673:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, afloat, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1673:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, afloat, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1683:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, adouble, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1683:17: note: '{' token is here
                SHIFT_VAR(utf8, s, strend, adouble, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1683:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_VAR(utf8, s, strend, adouble, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1683:17: note: ')' token is here
                SHIFT_VAR(utf8, s, strend, adouble, datumtype, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:168:8: note: expanded from macro 'SHIFT_VAR'
       SHIFT_BYTES(utf8, s, strend, &(var), sizeof(var), datumtype, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1693:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_BYTES(utf8, s, strend, anv.bytes, sizeof(anv.bytes),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:147:71: note: expanded from macro 'SHIFT_BYTES'
#define SHIFT_BYTES(utf8, s, strend, buf, len, datumtype, needs_swap)   \
                                                                        ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1693:17: note: '{' token is here
                SHIFT_BYTES(utf8, s, strend, anv.bytes, sizeof(anv.bytes),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:148:12: note: expanded from macro 'SHIFT_BYTES'
STMT_START {                                            \
           ^
pp_pack.c:1693:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                SHIFT_BYTES(utf8, s, strend, anv.bytes, sizeof(anv.bytes),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:158:13: note: expanded from macro 'SHIFT_BYTES'
    }                                                   \
                                                        ^
pp_pack.c:1693:17: note: ')' token is here
                SHIFT_BYTES(utf8, s, strend, anv.bytes, sizeof(anv.bytes),
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:159:3: note: expanded from macro 'SHIFT_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1778:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1778:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:1778:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1778:3: note: '{' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1778:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1778:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1778:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:1778:3: note: ')' token is here
                XPUSHs(sv);
                ^~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1816:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:19: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1816:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:30: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                   ^
pp_pack.c:1816:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1816:6: note: '{' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_pack.c:1816:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_pack.c:1816:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:32: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                     ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1816:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:59: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                ^
pp_pack.c:1816:6: note: ')' token is here
            mXPUSHs(sv);
            ^~~~~~~~~~~
./pp.h:477:20: note: expanded from macro 'mXPUSHs'
#define mXPUSHs(s)      XPUSHs(sv_2mortal(s))
                        ^~~~~~~~~~~~~~~~~~~~~
./pp.h:462:61: note: expanded from macro 'XPUSHs'
#define XPUSHs(s)       STMT_START { EXTEND(sp,1); *++sp = (s); } STMT_END
                                                                  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1943:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  SvCUR_set(result, out - result_c);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1943:3: note: '{' token is here
  SvCUR_set(result, out - result_c);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:1943:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
  SvCUR_set(result, out - result_c);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:1943:3: note: ')' token is here
  SvCUR_set(result, out - result_c);
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1969:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(pnum, (STRLEN) (t - s));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1969:5: note: '{' token is here
    SvCUR_set(pnum, (STRLEN) (t - s));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:1969:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(pnum, (STRLEN) (t - s));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:1969:5: note: ')' token is here
    SvCUR_set(pnum, (STRLEN) (t - s));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:1988:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TEMPSYM_INIT(&sym, pat, patend, FLAG_PACK);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:58:5: note: expanded from macro 'TEMPSYM_INIT'
    STMT_START {        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:1988:5: note: '{' token is here
    TEMPSYM_INIT(&sym, pat, patend, FLAG_PACK);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:58:16: note: expanded from macro 'TEMPSYM_INIT'
    STMT_START {        \
               ^
pp_pack.c:1988:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    TEMPSYM_INIT(&sym, pat, patend, FLAG_PACK);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:71:4: note: expanded from macro 'TEMPSYM_INIT'
   } STMT_END
   ^
pp_pack.c:1988:5: note: ')' token is here
    TEMPSYM_INIT(&sym, pat, patend, FLAG_PACK);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:71:6: note: expanded from macro 'TEMPSYM_INIT'
   } STMT_END
     ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2050:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, SvLEN(sv) + SvIVX(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2050:6: note: '{' token is here
            SvLEN_set(sv, SvLEN(sv) + SvIVX(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_pack.c:2050:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvLEN_set(sv, SvLEN(sv) + SvIVX(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_pack.c:2050:6: note: ')' token is here
            SvLEN_set(sv, SvLEN(sv) + SvIVX(sv));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2052:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1303:2: note: expanded from macro 'SvIV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2052:6: note: '{' token is here
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1303:13: note: expanded from macro 'SvIV_set'
        STMT_START { \
                   ^
pp_pack.c:2052:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1306:44: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                         ^
pp_pack.c:2052:6: note: ')' token is here
            SvIV_set(sv, 0);
            ^~~~~~~~~~~~~~~
./sv.h:1306:46: note: expanded from macro 'SvIV_set'
                (((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
                                                           ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2058:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, to_start);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:2: note: expanded from macro 'SvPV_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2058:5: note: '{' token is here
    SvPV_set(sv, to_start);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1313:13: note: expanded from macro 'SvPV_set'
        STMT_START { \
                   ^
pp_pack.c:2058:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvPV_set(sv, to_start);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:32: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                             ^
pp_pack.c:2058:5: note: ')' token is here
    SvPV_set(sv, to_start);
    ^~~~~~~~~~~~~~~~~~~~~~
./sv.h:1318:34: note: expanded from macro 'SvPV_set'
                ((sv)->sv_u.svu_pv = (val)); } STMT_END
                                               ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2059:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, to_ptr - to_start);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2059:5: note: '{' token is here
    SvCUR_set(sv, to_ptr - to_start);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2059:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvCUR_set(sv, to_ptr - to_start);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2059:5: note: ')' token is here
    SvCUR_set(sv, to_ptr - to_start);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2060:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1345:2: note: expanded from macro 'SvLEN_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2060:5: note: '{' token is here
    SvLEN_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1345:13: note: expanded from macro 'SvLEN_set'
        STMT_START { \
                   ^
pp_pack.c:2060:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvLEN_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1350:43: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                        ^
pp_pack.c:2060:5: note: ')' token is here
    SvLEN_set(sv, len);
    ^~~~~~~~~~~~~~~~~~
./sv.h:1350:45: note: expanded from macro 'SvLEN_set'
                (((XPV*)  SvANY(sv))->xpv_len = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2154:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:368:64: note: expanded from macro 'GROWING2'
#define GROWING2(utf8, cat, start, cur, item_size, item_count)  \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2154:3: note: '{' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:369:12: note: expanded from macro 'GROWING2'
STMT_START {                                                    \
           ^
pp_pack.c:2154:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2154:3: note: '{' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2154:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2154:3: note: '{' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2154:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2154:3: note: ')' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2154:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2154:3: note: ')' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:5: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2154:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:372:73: note: expanded from macro 'GROWING2'
    GROWING((utf8), (cat), (start), (cur), (item_size) * (item_count)); \
                                                                        ^
pp_pack.c:2154:3: note: ')' token is here
                GROWING2(utf8, cat, start, cur, size, (STRLEN)len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:373:3: note: expanded from macro 'GROWING2'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2223:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2223:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2223:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2223:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2223:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2223:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2223:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2223:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2379:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2379:3: note: '{' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2379:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2379:3: note: '{' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2379:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2379:3: note: ')' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2379:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2379:3: note: ')' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2399:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2399:3: note: '{' token is here
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2399:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2399:3: note: '{' token is here
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2399:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2399:3: note: ')' token is here
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2399:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2399:3: note: ')' token is here
                GROWING(0, cat, start, cur, fromlen*(UTF8_EXPAND-1)+len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2416:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2416:3: note: '{' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2416:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2416:3: note: '{' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2416:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2416:3: note: ')' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2416:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2416:3: note: ')' token is here
                GROWING(0, cat, start, cur, len);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2423:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2423:6: note: '{' token is here
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
pp_pack.c:2423:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2423:6: note: '{' token is here
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
pp_pack.c:2423:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
pp_pack.c:2423:6: note: ')' token is here
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2423:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
pp_pack.c:2423:6: note: ')' token is here
            SvTAINT(cat);
            ^~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2446:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2446:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2446:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2446:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2446:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2446:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2446:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2446:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2454:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:411:55: note: expanded from macro 'NEXT_UNI_VAL'
#define NEXT_UNI_VAL(val, cur, str, end, utf8_flags)            \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2454:4: note: '{' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:412:12: note: expanded from macro 'NEXT_UNI_VAL'
STMT_START {                                                    \
           ^
pp_pack.c:2454:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:420:25: note: expanded from macro 'NEXT_UNI_VAL'
    str += retlen;                                              \
                                                                ^
pp_pack.c:2454:4: note: ')' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:421:3: note: expanded from macro 'NEXT_UNI_VAL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2459:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2459:4: note: '{' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2459:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2459:4: note: ')' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2468:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:411:55: note: expanded from macro 'NEXT_UNI_VAL'
#define NEXT_UNI_VAL(val, cur, str, end, utf8_flags)            \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2468:4: note: '{' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:412:12: note: expanded from macro 'NEXT_UNI_VAL'
STMT_START {                                                    \
           ^
pp_pack.c:2468:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:420:25: note: expanded from macro 'NEXT_UNI_VAL'
    str += retlen;                                              \
                                                                ^
pp_pack.c:2468:4: note: ')' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:421:3: note: expanded from macro 'NEXT_UNI_VAL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2474:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2474:4: note: '{' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2474:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2474:4: note: ')' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2484:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2484:3: note: '{' token is here
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2484:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2484:3: note: ')' token is here
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2515:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2515:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2515:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2515:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2515:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2515:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2515:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2515:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, field_len);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2523:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:411:55: note: expanded from macro 'NEXT_UNI_VAL'
#define NEXT_UNI_VAL(val, cur, str, end, utf8_flags)            \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2523:4: note: '{' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:412:12: note: expanded from macro 'NEXT_UNI_VAL'
STMT_START {                                                    \
           ^
pp_pack.c:2523:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:420:25: note: expanded from macro 'NEXT_UNI_VAL'
    str += retlen;                                              \
                                                                ^
pp_pack.c:2523:4: note: ')' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:421:3: note: expanded from macro 'NEXT_UNI_VAL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2534:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2534:4: note: '{' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2534:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2534:4: note: ')' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2542:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:411:55: note: expanded from macro 'NEXT_UNI_VAL'
#define NEXT_UNI_VAL(val, cur, str, end, utf8_flags)            \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2542:4: note: '{' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:412:12: note: expanded from macro 'NEXT_UNI_VAL'
STMT_START {                                                    \
           ^
pp_pack.c:2542:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:420:25: note: expanded from macro 'NEXT_UNI_VAL'
    str += retlen;                                              \
                                                                ^
pp_pack.c:2542:4: note: ')' token is here
                        NEXT_UNI_VAL(val, cur, str, end, utf8_flags);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:421:3: note: expanded from macro 'NEXT_UNI_VAL'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2553:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2553:4: note: '{' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2553:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2553:4: note: ')' token is here
                        PUSH_BYTE(utf8, cur, bits);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2559:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2559:3: note: '{' token is here
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2559:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2559:3: note: ')' token is here
                PUSH_BYTE(utf8, cur, bits);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2578:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2578:3: note: '{' token is here
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2578:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2578:3: note: ')' token is here
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2593:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:402:35: note: expanded from macro 'PUSH_BYTE'
#define PUSH_BYTE(utf8, s, byte)                \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2593:3: note: '{' token is here
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:403:12: note: expanded from macro 'PUSH_BYTE'
STMT_START {                                    \
           ^
pp_pack.c:2593:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:407:36: note: expanded from macro 'PUSH_BYTE'
    } else *(U8 *)(s)++ = (byte);               \
                                                ^
pp_pack.c:2593:3: note: ')' token is here
                PUSH_BYTE(utf8, cur, (U8)(aiv & 0xff));
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:408:3: note: expanded from macro 'PUSH_BYTE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2611:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2611:4: note: '{' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2611:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2611:4: note: ')' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2613:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2613:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2613:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2613:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2613:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2613:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2613:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2613:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2621:8: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(cat, cur - start);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2621:8: note: '{' token is here
                            SvCUR_set(cat, cur - start);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2621:8: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                            SvCUR_set(cat, cur - start);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2621:8: note: ')' token is here
                            SvCUR_set(cat, cur - start);
                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2637:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2637:4: note: '{' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2637:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2637:4: note: ')' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2638:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2638:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2638:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2638:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2638:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2638:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2638:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2638:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+1);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2670:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2670:4: note: '{' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2670:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2670:4: note: ')' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2671:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2671:4: note: '{' token is here
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2671:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2671:4: note: '{' token is here
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2671:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2671:4: note: ')' token is here
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2671:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2671:4: note: ')' token is here
                        GROWING(0, cat, start, cur,
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2679:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2679:4: note: '{' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2679:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2679:4: note: ')' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2680:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2680:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:2680:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2680:4: note: '{' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2680:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2680:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2680:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:2680:4: note: ')' token is here
                        GROWING(0, cat, start, cur, len+UTF8_MAXLEN);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2719:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, afloat, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2719:17: note: '{' token is here
                PUSH_VAR(utf8, cur, afloat, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2719:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, afloat, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2719:17: note: ')' token is here
                PUSH_VAR(utf8, cur, afloat, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2740:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, adouble, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2740:17: note: '{' token is here
                PUSH_VAR(utf8, cur, adouble, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2740:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, adouble, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2740:17: note: ')' token is here
                PUSH_VAR(utf8, cur, adouble, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2760:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTES(utf8, cur, anv.bytes, sizeof(anv.bytes), needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2760:17: note: '{' token is here
                PUSH_BYTES(utf8, cur, anv.bytes, sizeof(anv.bytes), needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2760:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTES(utf8, cur, anv.bytes, sizeof(anv.bytes), needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2760:17: note: ')' token is here
                PUSH_BYTES(utf8, cur, anv.bytes, sizeof(anv.bytes), needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2795:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2795:17: note: '{' token is here
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2795:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2795:17: note: ')' token is here
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2805:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2805:17: note: '{' token is here
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2805:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2805:17: note: ')' token is here
                PUSH16(utf8, cur, &ai16, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2825:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &au16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2825:17: note: '{' token is here
                PUSH16(utf8, cur, &au16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2825:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &au16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2825:17: note: ')' token is here
                PUSH16(utf8, cur, &au16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2845:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2845:17: note: '{' token is here
                PUSH16(utf8, cur, &ai16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2845:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH16(utf8, cur, &ai16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2845:17: note: ')' token is here
                PUSH16(utf8, cur, &ai16, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:129:8: note: expanded from macro 'PUSH16'
       PUSH_BYTES(utf8, cur, OFF16(p), SIZE16, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2854:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2854:17: note: '{' token is here
                PUSH_VAR(utf8, cur, auint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2854:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2854:17: note: ')' token is here
                PUSH_VAR(utf8, cur, auint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2862:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aiv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2862:17: note: '{' token is here
                PUSH_VAR(utf8, cur, aiv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2862:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aiv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2862:17: note: ')' token is here
                PUSH_VAR(utf8, cur, aiv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2870:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2870:17: note: '{' token is here
                PUSH_VAR(utf8, cur, auv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2870:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2870:17: note: ')' token is here
                PUSH_VAR(utf8, cur, auv, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2882:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(cat, cur - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2882:7: note: '{' token is here
                    SvCUR_set(cat, cur - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2882:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    SvCUR_set(cat, cur - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2882:7: note: ')' token is here
                    SvCUR_set(cat, cur - start);
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2901:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:388:64: note: expanded from macro 'PUSH_GROWING_BYTES'
#define PUSH_GROWING_BYTES(utf8, cat, start, cur, buf, in_len) \
                                                               ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2901:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:389:12: note: expanded from macro 'PUSH_GROWING_BYTES'
STMT_START {                                    \
           ^
pp_pack.c:2901:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2901:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2901:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2901:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2901:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2901:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2901:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2901:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2901:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2901:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2901:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2901:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2901:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:49: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
                                                ^
pp_pack.c:2901:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:400:3: note: expanded from macro 'PUSH_GROWING_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2934:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:388:64: note: expanded from macro 'PUSH_GROWING_BYTES'
#define PUSH_GROWING_BYTES(utf8, cat, start, cur, buf, in_len) \
                                                               ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2934:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:389:12: note: expanded from macro 'PUSH_GROWING_BYTES'
STMT_START {                                    \
           ^
pp_pack.c:2934:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2934:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2934:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2934:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2934:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2934:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2934:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2934:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2934:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2934:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2934:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2934:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2934:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:49: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
                                                ^
pp_pack.c:2934:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:400:3: note: expanded from macro 'PUSH_GROWING_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2954:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:388:64: note: expanded from macro 'PUSH_GROWING_BYTES'
#define PUSH_GROWING_BYTES(utf8, cat, start, cur, buf, in_len) \
                                                               ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2954:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:389:12: note: expanded from macro 'PUSH_GROWING_BYTES'
STMT_START {                                    \
           ^
pp_pack.c:2954:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2954:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:2954:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:2954:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:392:15: note: expanded from macro 'PUSH_GROWING_BYTES'
    if (utf8) SAFE_UTF8_EXPAND(gl);             \
              ^~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2954:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2954:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:2954:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:2954:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:395:9: note: expanded from macro 'PUSH_GROWING_BYTES'
        SvCUR_set((cat), (cur) - (start));      \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2954:7: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2954:7: note: '{' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2954:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2954:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:5: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2954:7: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:399:49: note: expanded from macro 'PUSH_GROWING_BYTES'
    PUSH_BYTES(utf8, cur, buf, glen, 0);        \
                                                ^
pp_pack.c:2954:7: note: ')' token is here
                    PUSH_GROWING_BYTES(utf8, cat, start, cur,
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:400:3: note: expanded from macro 'PUSH_GROWING_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2967:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2967:17: note: '{' token is here
                PUSH_VAR(utf8, cur, aint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2967:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2967:17: note: ')' token is here
                PUSH_VAR(utf8, cur, aint, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2977:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2977:17: note: '{' token is here
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2977:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2977:17: note: ')' token is here
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2987:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2987:17: note: '{' token is here
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2987:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2987:17: note: ')' token is here
                PUSH32(utf8, cur, &au32, FALSE);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:2996:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aulong, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:2996:17: note: '{' token is here
                PUSH_VAR(utf8, cur, aulong, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:2996:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aulong, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:2996:17: note: ')' token is here
                PUSH_VAR(utf8, cur, aulong, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3007:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3007:17: note: '{' token is here
                PUSH32(utf8, cur, &au32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3007:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &au32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3007:17: note: ')' token is here
                PUSH32(utf8, cur, &au32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3016:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, along, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3016:17: note: '{' token is here
                PUSH_VAR(utf8, cur, along, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3016:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, along, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3016:17: note: ')' token is here
                PUSH_VAR(utf8, cur, along, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3027:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &ai32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3027:17: note: '{' token is here
                PUSH32(utf8, cur, &ai32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3027:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH32(utf8, cur, &ai32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3027:17: note: ')' token is here
                PUSH32(utf8, cur, &ai32, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:131:8: note: expanded from macro 'PUSH32'
       PUSH_BYTES(utf8, cur, OFF32(p), SIZE32, needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3036:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3036:17: note: '{' token is here
                PUSH_VAR(utf8, cur, auquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3036:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, auquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3036:17: note: ')' token is here
                PUSH_VAR(utf8, cur, auquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3044:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3044:17: note: '{' token is here
                PUSH_VAR(utf8, cur, aquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3044:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3044:17: note: ')' token is here
                PUSH_VAR(utf8, cur, aquad, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3050:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3050:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:3050:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3050:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:3050:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:3050:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3050:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:3050:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, sizeof(char *));
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3076:17: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aptr, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3076:17: note: '{' token is here
                PUSH_VAR(utf8, cur, aptr, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3076:17: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_VAR(utf8, cur, aptr, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3076:17: note: ')' token is here
                PUSH_VAR(utf8, cur, aptr, needs_swap);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:171:8: note: expanded from macro 'PUSH_VAR'
       PUSH_BYTES(utf8, aptr, &(var), sizeof(var), needs_swap)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3097:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:375:48: note: expanded from macro 'GROWING'
#define GROWING(utf8, cat, start, cur, in_len)  \
                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3097:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:376:12: note: expanded from macro 'GROWING'
STMT_START {                                    \
           ^
pp_pack.c:3097:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:361:31: note: expanded from macro 'SAFE_UTF8_EXPAND'
#define SAFE_UTF8_EXPAND(var)   \
                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3097:6: note: '{' token is here
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:362:12: note: expanded from macro 'SAFE_UTF8_EXPAND'
STMT_START {                            \
           ^
pp_pack.c:3097:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:365:34: note: expanded from macro 'SAFE_UTF8_EXPAND'
    (var) = (var) * UTF8_EXPAND; \
                                 ^
pp_pack.c:3097:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:379:15: note: expanded from macro 'GROWING'
    if (utf8) SAFE_UTF8_EXPAND(glen);           \
              ^~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:366:3: note: expanded from macro 'SAFE_UTF8_EXPAND'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3097:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:385:12: note: expanded from macro 'GROWING'
    }                                           \
                                                ^
pp_pack.c:3097:6: note: ')' token is here
            GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:386:3: note: expanded from macro 'GROWING'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3112:4: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3112:4: note: '{' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:3112:4: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:3112:4: note: ')' token is here
                        SvCUR_set(cat, cur - start);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3122:3: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTES(utf8, cur, hunk, end-hunk, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:348:65: note: expanded from macro 'PUSH_BYTES'
#define PUSH_BYTES(utf8, cur, buf, len, needs_swap)             \
                                                                ^
./perl.h:666:29: note: expanded from macro '\
STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3122:3: note: '{' token is here
                PUSH_BYTES(utf8, cur, hunk, end-hunk, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:349:12: note: expanded from macro 'PUSH_BYTES'
STMT_START {                                                    \
           ^
pp_pack.c:3122:3: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
                PUSH_BYTES(utf8, cur, hunk, end-hunk, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:358:14: note: expanded from macro 'PUSH_BYTES'
    }                                                           \
                                                                ^
pp_pack.c:3122:3: note: ')' token is here
                PUSH_BYTES(utf8, cur, hunk, end-hunk, 0);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pp_pack.c:359:3: note: expanded from macro 'PUSH_BYTES'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3129:2: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(cat, cur - start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3129:2: note: '{' token is here
        SvCUR_set(cat, cur - start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
pp_pack.c:3129:2: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SvCUR_set(cat, cur - start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
pp_pack.c:3129:2: note: ')' token is here
        SvCUR_set(cat, cur - start);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_pack.c:3168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(cat);
    ^~~~~~~~~~~~~~~
./sv.h:2144:23: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_pack.c:3168:5: note: '{' token is here
    SvSETMAGIC(cat);
    ^~~~~~~~~~~~~~~
./sv.h:2144:34: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                 ^
pp_pack.c:3168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    SvSETMAGIC(cat);
    ^~~~~~~~~~~~~~~
./sv.h:2144:76: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                           ^
pp_pack.c:3168:5: note: ')' token is here
    SvSETMAGIC(cat);
    ^~~~~~~~~~~~~~~
./sv.h:2144:78: note: expanded from macro 'SvSETMAGIC'
#define SvSETMAGIC(x) STMT_START { if (UNLIKELY(SvSMAGICAL(x))) mg_set(x); } STMT_END
                                                                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
358 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC pp_sort.c
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from pp_sort.c:31:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:724:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:724:9: note: '{' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sort.c:724:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sort.c:724:9: note: ')' token is here
        EXTEND(SP,1);
        ^~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:798:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MEXTEND(SP, max);
        ^~~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:798:9: note: '{' token is here
        MEXTEND(SP, max);
        ^~~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp_sort.c:798:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        MEXTEND(SP, max);
        ^~~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp_sort.c:798:9: note: ')' token is here
        MEXTEND(SP, max);
        ^~~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:864:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CATCH_SET(TRUE);
            ^~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:864:13: note: '{' token is here
            CATCH_SET(TRUE);
            ^~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
pp_sort.c:864:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CATCH_SET(TRUE);
            ^~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
pp_sort.c:864:13: note: ')' token is here
            CATCH_SET(TRUE);
            ^~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:865:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:5: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:865:13: note: '{' token is here
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1077:16: note: expanded from macro 'PUSHSTACKi'
    STMT_START {                                                        \
               ^
pp_sort.c:865:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:865:13: note: '{' token is here
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sort.c:865:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sort.c:865:13: note: ')' token is here
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1094:2: note: expanded from macro 'PUSHSTACKi'
        SWITCHSTACK(PL_curstack,next->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:865:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:5: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
    ^
pp_sort.c:865:13: note: ')' token is here
            PUSHSTACKi(PERLSI_SORT);
            ^~~~~~~~~~~~~~~~~~~~~~~
./cop.h:1097:7: note: expanded from macro 'PUSHSTACKi'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:921:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:921:13: note: '{' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_sort.c:921:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_sort.c:921:13: note: ')' token is here
            CX_LEAVE_SCOPE(cx);
            ^~~~~~~~~~~~~~~~~~
./cop.h:625:28: note: expanded from macro 'CX_LEAVE_SCOPE'
#define CX_LEAVE_SCOPE(cx) LEAVE_SCOPE(cx->blk_oldsaveix)
                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:932:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:5: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:932:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1104:16: note: expanded from macro 'POPSTACK'
    STMT_START {                                                        \
               ^
pp_sort.c:932:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:5: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:932:13: note: '{' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:539:16: note: expanded from macro 'SWITCHSTACK'
    STMT_START {                                                        \
               ^
pp_sort.c:932:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:5: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
    ^
pp_sort.c:932:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1115:2: note: expanded from macro 'POPSTACK'
        SWITCHSTACK(PL_curstack,prev->si_stack);                        \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./pp.h:545:7: note: expanded from macro 'SWITCHSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:932:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:5: note: expanded from macro 'POPSTACK'
    } STMT_END
    ^
pp_sort.c:932:13: note: ')' token is here
            POPSTACK;
            ^~~~~~~~
./cop.h:1118:7: note: expanded from macro 'POPSTACK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:933:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CATCH_SET(oldcatch);
            ^~~~~~~~~~~~~~~~~~~
./cop.h:159:5: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:933:13: note: '{' token is here
            CATCH_SET(oldcatch);
            ^~~~~~~~~~~~~~~~~~~
./cop.h:159:16: note: expanded from macro 'CATCH_SET'
    STMT_START {                                                        \
               ^
pp_sort.c:933:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            CATCH_SET(oldcatch);
            ^~~~~~~~~~~~~~~~~~~
./cop.h:166:5: note: expanded from macro 'CATCH_SET'
    } STMT_END
    ^
pp_sort.c:933:13: note: ')' token is here
            CATCH_SET(oldcatch);
            ^~~~~~~~~~~~~~~~~~~
./cop.h:166:7: note: expanded from macro 'CATCH_SET'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:936:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 20);    /* Can't afford stack realloc on signal. */
            ^~~~~~~~~~~~~~~
./pp.h:378:25: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:936:13: note: '{' token is here
            MEXTEND(SP, 20);    /* Can't afford stack realloc on signal. */
            ^~~~~~~~~~~~~~~
./pp.h:378:36: note: expanded from macro 'MEXTEND'
#  define MEXTEND(p,n)  STMT_START {                                    \
                                   ^
pp_sort.c:936:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            MEXTEND(SP, 20);    /* Can't afford stack realloc on signal. */
            ^~~~~~~~~~~~~~~
./pp.h:385:28: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                           ^
pp_sort.c:936:13: note: ')' token is here
            MEXTEND(SP, 20);    /* Can't afford stack realloc on signal. */
            ^~~~~~~~~~~~~~~
./pp.h:385:30: note: expanded from macro 'MEXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:1076:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:1076:5: note: '{' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_sort.c:1076:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_sort.c:1076:5: note: ')' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:1123:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:1123:5: note: '{' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_sort.c:1123:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_sort.c:1123:5: note: ')' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:1140:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:5: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:1140:5: note: '{' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:59:16: note: expanded from macro 'PUSHMARK'
    STMT_START {                                                      \
               ^
pp_sort.c:1140:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:5: note: expanded from macro 'PUSHMARK'
    } STMT_END
    ^
pp_sort.c:1140:5: note: ')' token is here
    PUSHMARK(SP);
    ^~~~~~~~~~~~
./pp.h:68:7: note: expanded from macro 'PUSHMARK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:1141:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:25: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:1141:5: note: '{' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:371:36: note: expanded from macro 'EXTEND'
#  define EXTEND(p,n)   STMT_START {                                    \
                                   ^
pp_sort.c:1141:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:28: note: expanded from macro 'EXTEND'
                         } } STMT_END
                           ^
pp_sort.c:1141:5: note: ')' token is here
    EXTEND(SP, 2);
    ^~~~~~~~~~~~~
./pp.h:376:30: note: expanded from macro 'EXTEND'
                         } } STMT_END
                             ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
pp_sort.c:1151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:26: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                         ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
pp_sort.c:1151:5: note: '{' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:221:37: note: expanded from macro 'LEAVE_SCOPE'
#define LEAVE_SCOPE(old) STMT_START { \
                                    ^
pp_sort.c:1151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:5: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
    ^
pp_sort.c:1151:5: note: ')' token is here
    LEAVE_SCOPE(oldsaveix);
    ^~~~~~~~~~~~~~~~~~~~~~
./scope.h:223:7: note: expanded from macro 'LEAVE_SCOPE'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
128 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC caretx.c
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from caretx.c:32:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
caretx.c:86:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(caret_x, size - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:2: note: expanded from macro 'SvCUR_set'
        STMT_START { \
        ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
caretx.c:86:13: note: '{' token is here
            SvCUR_set(caret_x, size - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1338:13: note: expanded from macro 'SvCUR_set'
        STMT_START { \
                   ^
caretx.c:86:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvCUR_set(caret_x, size - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:43: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                        ^
caretx.c:86:13: note: ')' token is here
            SvCUR_set(caret_x, size - 1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sv.h:1343:45: note: expanded from macro 'SvCUR_set'
                (((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
                                                          ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
caretx.c:87:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1498:5: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
caretx.c:87:13: note: '{' token is here
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1498:16: note: expanded from macro 'SvTAINT'
    STMT_START {                        \
               ^
caretx.c:87:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:27: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
caretx.c:87:13: note: '{' token is here
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:37: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                    ^
caretx.c:87:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:83: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                  ^
caretx.c:87:13: note: ')' token is here
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1501:13: note: expanded from macro 'SvTAINT'
            SvTAINTED_on(sv);           \
            ^~~~~~~~~~~~~~~~
./sv.h:1494:84: note: expanded from macro 'SvTAINTED_on'
#define SvTAINTED_on(sv)  STMT_START{ if(UNLIKELY(TAINTING_get)){sv_taint(sv);}   }STMT_END
                                                                                   ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
caretx.c:87:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1502:5: note: expanded from macro 'SvTAINT'
    } STMT_END
    ^
caretx.c:87:13: note: ')' token is here
            SvTAINT(caret_x);
            ^~~~~~~~~~~~~~~~
./sv.h:1502:7: note: expanded from macro 'SvTAINT'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
104 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC dquote.c
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from dquote.c:10:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC time64.c
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from time64.c:44:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
time64.c:344:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        GMTIME_LOCK;
        ^~~~~~~~~~~
time64.c:139:28: note: expanded from macro 'GMTIME_LOCK'
#    define GMTIME_LOCK    ENV_LOCALE_READ_LOCK
                           ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
time64.c:344:9: note: '{' token is here
        GMTIME_LOCK;
        ^~~~~~~~~~~
time64.c:139:28: note: expanded from macro 'GMTIME_LOCK'
#    define GMTIME_LOCK    ENV_LOCALE_READ_LOCK
                           ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
time64.c:344:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        GMTIME_LOCK;
        ^~~~~~~~~~~
time64.c:139:28: note: expanded from macro 'GMTIME_LOCK'
#    define GMTIME_LOCK    ENV_LOCALE_READ_LOCK
                           ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
time64.c:344:9: note: ')' token is here
        GMTIME_LOCK;
        ^~~~~~~~~~~
time64.c:139:28: note: expanded from macro 'GMTIME_LOCK'
#    define GMTIME_LOCK    ENV_LOCALE_READ_LOCK
                           ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
time64.c:363:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        GMTIME_UNLOCK;
        ^~~~~~~~~~~~~
time64.c:140:28: note: expanded from macro 'GMTIME_UNLOCK'
#    define GMTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                           ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
time64.c:363:9: note: '{' token is here
        GMTIME_UNLOCK;
        ^~~~~~~~~~~~~
time64.c:140:28: note: expanded from macro 'GMTIME_UNLOCK'
#    define GMTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                           ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
time64.c:363:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        GMTIME_UNLOCK;
        ^~~~~~~~~~~~~
time64.c:140:28: note: expanded from macro 'GMTIME_UNLOCK'
#    define GMTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                           ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
time64.c:363:9: note: ')' token is here
        GMTIME_UNLOCK;
        ^~~~~~~~~~~~~
time64.c:140:28: note: expanded from macro 'GMTIME_UNLOCK'
#    define GMTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                           ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
time64.c:515:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LOCALTIME_LOCK;
    ^~~~~~~~~~~~~~
time64.c:132:31: note: expanded from macro 'LOCALTIME_LOCK'
#    define LOCALTIME_LOCK    ENV_LOCALE_READ_LOCK
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
time64.c:515:5: note: '{' token is here
    LOCALTIME_LOCK;
    ^~~~~~~~~~~~~~
time64.c:132:31: note: expanded from macro 'LOCALTIME_LOCK'
#    define LOCALTIME_LOCK    ENV_LOCALE_READ_LOCK
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
time64.c:515:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LOCALTIME_LOCK;
    ^~~~~~~~~~~~~~
time64.c:132:31: note: expanded from macro 'LOCALTIME_LOCK'
#    define LOCALTIME_LOCK    ENV_LOCALE_READ_LOCK
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
time64.c:515:5: note: ')' token is here
    LOCALTIME_LOCK;
    ^~~~~~~~~~~~~~
time64.c:132:31: note: expanded from macro 'LOCALTIME_LOCK'
#    define LOCALTIME_LOCK    ENV_LOCALE_READ_LOCK
                              ^~~~~~~~~~~~~~~~~~~~
./perl.h:2947:34: note: expanded from macro 'ENV_LOCALE_READ_LOCK'
#define ENV_LOCALE_READ_LOCK     ENV_LOCALE_LOCK
                                 ^~~~~~~~~~~~~~~
./perl.h:2941:29: note: expanded from macro 'ENV_LOCALE_LOCK'
#define ENV_LOCALE_LOCK     ENV_LOCK
                            ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
time64.c:522:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LOCALTIME_UNLOCK;
        ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
time64.c:522:9: note: '{' token is here
        LOCALTIME_UNLOCK;
        ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
time64.c:522:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        LOCALTIME_UNLOCK;
        ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
time64.c:522:9: note: ')' token is here
        LOCALTIME_UNLOCK;
        ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
time64.c:543:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LOCALTIME_UNLOCK;
    ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
time64.c:543:5: note: '{' token is here
    LOCALTIME_UNLOCK;
    ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
time64.c:543:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    LOCALTIME_UNLOCK;
    ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
time64.c:543:5: note: ')' token is here
    LOCALTIME_UNLOCK;
    ^~~~~~~~~~~~~~~~
time64.c:133:31: note: expanded from macro 'LOCALTIME_UNLOCK'
#    define LOCALTIME_UNLOCK  ENV_LOCALE_READ_UNLOCK
                              ^~~~~~~~~~~~~~~~~~~~~~
./perl.h:2948:34: note: expanded from macro 'ENV_LOCALE_READ_UNLOCK'
#define ENV_LOCALE_READ_UNLOCK   ENV_LOCALE_UNLOCK
                                 ^~~~~~~~~~~~~~~~~
./perl.h:2942:29: note: expanded from macro 'ENV_LOCALE_UNLOCK'
#define ENV_LOCALE_UNLOCK   ENV_UNLOCK
                            ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
108 warnings generated.
cc -c -DPERL_CORE -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -DUSE_THREAD_SAFE_LOCALE -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -std=c89 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Werror=pointer-arith -Wextra -Wc++-compat -Wwrite-strings -Werror=declaration-after-statement -DPIC -fPIC miniperlmain.c
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:150:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:150:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:150:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:150:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0x9fade23b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:151:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:151:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:151:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:151:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0xaa6f908d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:152:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:152:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:152:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:152:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0xcdf6b72d);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:156:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:156:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:156:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:156:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 1/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:157:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:157:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:157:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:157:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 2/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:158:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:158:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:158:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:158:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 3/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:159:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:159:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:159:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:159:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE A 4/4");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:162:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:162:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:162:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:162:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[0],0xc95d22a9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:163:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:163:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:163:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:163:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[1],0x8497242b);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:164:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:38: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:164:5: note: '{' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:80:49: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
#define ZAPHOD32_SCRAMBLE32(v,prime) STMT_START {  \
                                                ^
./zaphod32_hash.h:164:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:87:41: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
    v ^= (v>>23);                       \
                                        ^
./zaphod32_hash.h:164:5: note: ')' token is here
    ZAPHOD32_SCRAMBLE32(state[2],0x9c5cc4e9);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:88:3: note: expanded from macro 'ZAPHOD32_SCRAMBLE32'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:167:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:167:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:167:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:167:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 1/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:168:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:168:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:168:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:168:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 2/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:169:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:169:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:169:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:169:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 3/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:170:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:170:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:170:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:170:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 4/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:171:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:171:5: note: '{' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:171:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:171:5: note: ')' token is here
    ZAPHOD32_MIX(state[0],state[1],state[2],"ZAPHOD32 SEED-STATE B 5/5");
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:247:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:37: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:247:13: note: '{' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:116:48: note: expanded from macro 'ZAPHOD32_MIX'
#define ZAPHOD32_MIX(v0,v1,v2,text) STMT_START {                              \
                                               ^
./zaphod32_hash.h:247:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:124:32: note: expanded from macro 'ZAPHOD32_MIX'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./zaphod32_hash.h:247:13: note: ')' token is here
            ZAPHOD32_MIX(v0,v1,v2,"MIX 2-WORDS A");
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:125:3: note: expanded from macro 'ZAPHOD32_MIX'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
In file included from ./sbox32_hash.h:4:
./zaphod32_hash.h:268:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:37: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./zaphod32_hash.h:268:5: note: '{' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:90:48: note: expanded from macro 'ZAPHOD32_FINALIZE'
#define ZAPHOD32_FINALIZE(v0,v1,v2) STMT_START {          \
                                               ^
./zaphod32_hash.h:268:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:113:36: note: expanded from macro 'ZAPHOD32_FINALIZE'
    v1 = ROTL32(v1, 17);           \
                                   ^
./zaphod32_hash.h:268:5: note: ')' token is here
    ZAPHOD32_FINALIZE(v0,v1,v2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./zaphod32_hash.h:114:3: note: expanded from macro 'ZAPHOD32_FINALIZE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1448:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:36: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1448:9: note: '{' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:99:47: note: expanded from macro 'SBOX32_MIX3'
#define SBOX32_MIX3(v0,v1,v2,text) STMT_START {                               \
                                              ^
./sbox32_hash.h:1448:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:107:32: note: expanded from macro 'SBOX32_MIX3'
    v2 = ROTR32(v2, 7) ^ v0;   \
                               ^
./sbox32_hash.h:1448:9: note: ')' token is here
        SBOX32_MIX3(s0,s1,s2,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:108:3: note: expanded from macro 'SBOX32_MIX3'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1453:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1453:13: note: '{' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1453:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1453:13: note: ')' token is here
            XORSHIFT96_set(*state_cursor,s0,s1,s2,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1456:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:35: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1456:5: note: '{' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1393:46: note: expanded from macro 'XORSHIFT96_set'
#define XORSHIFT96_set(r,x,y,z,t) STMT_START {          \
                                             ^
./sbox32_hash.h:1456:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1396:57: note: expanded from macro 'XORSHIFT96_set'
    r = z = (z ^ ( z >> 26 ) ) ^ ( t ^ ( t >> 5 ) );    \
                                                        ^
./sbox32_hash.h:1456:5: note: ')' token is here
    XORSHIFT96_set(*state,s0,s1,s2,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1397:3: note: expanded from macro 'XORSHIFT96_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1482:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:39: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                      ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1482:9: note: '{' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:85:50: note: expanded from macro 'SBOX32_MIX4'
#define SBOX32_MIX4(v0,v1,v2,v3,text) STMT_START { \
                                                 ^
./sbox32_hash.h:1482:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:96:37: note: expanded from macro 'SBOX32_MIX4'
        v2 = ROTL32(v2, 4) - v0;    \
                                    ^
./sbox32_hash.h:1482:9: note: ')' token is here
        SBOX32_MIX4(s0,s1,s2,s3,"SEED STATE");
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:97:3: note: expanded from macro 'SBOX32_MIX4'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1487:13: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1487:13: note: '{' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1487:13: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1487:13: note: ')' token is here
            XORSHIFT128_set(*state_cursor,s0,s1,s2,s3,t1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:35:
./sbox32_hash.h:1490:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:38: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                     ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./sbox32_hash.h:1490:5: note: '{' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1399:49: note: expanded from macro 'XORSHIFT128_set'
#define XORSHIFT128_set(r,x,y,z,w,t) STMT_START {       \
                                                ^
./sbox32_hash.h:1490:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1402:57: note: expanded from macro 'XORSHIFT128_set'
    r = w = ( w ^ ( w >> 29 ) ) ^ ( t ^ ( t >> 12 ) );  \
                                                        ^
./sbox32_hash.h:1490:5: note: ')' token is here
    XORSHIFT128_set(*state,s0,s1,s2,s3,t2);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./sbox32_hash.h:1403:3: note: expanded from macro 'XORSHIFT128_set'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:113:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:113:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:113:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:113:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0x801178846e899d17));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:114:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:114:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:114:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:114:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[0],UINT64_C(0xdd51e5d1c9a5a151));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:115:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:115:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:115:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:115:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x93a7d6c8c62e4835));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:116:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:116:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:116:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:116:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[1],UINT64_C(0x803340f36895c2b5));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:117:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:117:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:117:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:117:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xbea9344eb7565eeb));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:118:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:118:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:118:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:118:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[2],UINT64_C(0xcd95d1e509b995cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:119:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:119:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:119:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:119:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0x9999791977e30c13));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
In file included from ./hv_func.h:55:
./stadtx_hash.h:120:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:36: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                   ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./stadtx_hash.h:120:5: note: '{' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:72:47: note: expanded from macro 'STADTX_SCRAMBLE64'
#define STADTX_SCRAMBLE64(v,prime) STMT_START {    \
                                              ^
./stadtx_hash.h:120:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:79:45: note: expanded from macro 'STADTX_SCRAMBLE64'
    v ^= (v >> 46);                         \
                                            ^
./stadtx_hash.h:120:5: note: ')' token is here
    STADTX_SCRAMBLE64(state[3],UINT64_C(0xaab8b6b05abfc6cd));
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./stadtx_hash.h:80:3: note: expanded from macro 'STADTX_SCRAMBLE64'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:107:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:43: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                          ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:107:5: note: '{' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:91:54: note: expanded from macro '_PERL_HASH_SEED_STATE'
#define _PERL_HASH_SEED_STATE(seed,state) STMT_START {                                      \
                                                     ^
./hv_func.h:107:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:93:93: note: expanded from macro '_PERL_HASH_SEED_STATE'
    sbox32_seed_state96(seed + __PERL_HASH_SEED_BYTES, state + __PERL_HASH_STATE_BYTES);    \
                                                                                            ^
./hv_func.h:107:5: note: ')' token is here
    _PERL_HASH_SEED_STATE(seed,state);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./hv_func.h:94:3: note: expanded from macro '_PERL_HASH_SEED_STATE'
} STMT_END
  ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:3921:
In file included from ./hv.h:663:
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:274:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: '{' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:274:6: note: ')' token is here
    ,SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:275:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:275:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:219:5: note: expanded from macro 'PERL_SIPHASH_FNC'
    SIP_ROUNDS;                             \
    ^~~~~~~~~~
./hv_func.h:280:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: '{' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:6: note: ')' token is here
    ,SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: '{' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:280:15: note: ')' token is here
    ,SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:238:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_ROUNDS;                               \
  ^~~~~~~~~~
./hv_func.h:281:6: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:6: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
     ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:15: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
              ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:24: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                       ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:3: note: expanded from macro 'SIPROUND'
  STMT_START {              \
  ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: '{' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:175:14: note: expanded from macro 'SIPROUND'
  STMT_START {              \
             ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:3: note: expanded from macro 'SIPROUND'
  } STMT_END
  ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
./hv_func.h:281:33: note: ')' token is here
    ,SIPROUND;SIPROUND;SIPROUND;SIPROUND;
                                ^~~~~~~~
./hv_func.h:180:5: note: expanded from macro 'SIPROUND'
  } STMT_END
    ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
./hv_func.h:244:3: note: expanded from macro 'PERL_SIPHASH_FNC'
  SIP_FINAL_ROUNDS                          \
  ^~~~~~~~~~~~~~~~
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2209:5: note: '{' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:657:16: note: expanded from macro 'CX_POP_SAVEARRAY'
    STMT_START {                                                        \
               ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2209:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:5: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
    ^
./inline.h:2209:5: note: ')' token is here
    CX_POP_SAVEARRAY(cx);
    ^~~~~~~~~~~~~~~~~~~~
./cop.h:662:7: note: expanded from macro 'CX_POP_SAVEARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:5: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2215:9: note: '{' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:667:16: note: expanded from macro 'CLEAR_ARGARRAY'
    STMT_START {                                                        \
               ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2215:9: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:5: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
    ^
./inline.h:2215:9: note: ')' token is here
        CLEAR_ARGARRAY(av);
        ^~~~~~~~~~~~~~~~~~
./cop.h:671:7: note: expanded from macro 'CLEAR_ARGARRAY'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:5: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2619:5: note: '{' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:214:16: note: expanded from macro 'MUTEX_LOCK'
    STMT_START {                                                \
               ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2619:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:5: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
    ^
./inline.h:2619:5: note: ')' token is here
    ENV_LOCK;
    ^~~~~~~~
./perl.h:2924:31: note: expanded from macro 'ENV_LOCK'
#  define ENV_LOCK            MUTEX_LOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:219:7: note: expanded from macro 'MUTEX_LOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '(' and '{' tokens introducing statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:5: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
    ^~~~~~~~~~
./perl.h:666:29: note: expanded from macro 'STMT_START'
#   define STMT_START   (void)( /* gcc supports "({ STATEMENTS; })" */
                              ^
./inline.h:2627:5: note: '{' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:222:16: note: expanded from macro 'MUTEX_UNLOCK'
    STMT_START {                                                \
               ^
In file included from miniperlmain.c:57:
In file included from ./perl.h:6161:
./inline.h:2627:5: warning: '}' and ')' tokens terminating statement expression appear in different macro expansion contexts [-Wcompound-token-split-by-macro]
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:5: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
    ^
./inline.h:2627:5: note: ')' token is here
    ENV_UNLOCK;
    ^~~~~~~~~~
./perl.h:2925:31: note: expanded from macro 'ENV_UNLOCK'
#  define ENV_UNLOCK          MUTEX_UNLOCK(&PL_env_mutex)
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./thread.h:227:7: note: expanded from macro 'MUTEX_UNLOCK'
    } STMT_END
      ^~~~~~~~
./perl.h:667:21: note: expanded from macro 'STMT_END'
#   define STMT_END     )
                        ^
98 warnings generated.
rm -rf mpdtrace
mkdir mpdtrace
cp opmini.o perlmini.o  gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o dquote.o time64.o  miniperlmain.o mpdtrace/
/usr/sbin/dtrace -xnolibs -G -s perldtrace.d -o dtrace_mini.o mpdtrace/opmini.o mpdtrace/perlmini.o mpdtrace/gv.o mpdtrace/toke.o mpdtrace/perly.o mpdtrace/pad.o mpdtrace/regcomp.o mpdtrace/dump.o mpdtrace/util.o mpdtrace/mg.o mpdtrace/reentr.o mpdtrace/mro_core.o mpdtrace/keywords.o mpdtrace/hv.o mpdtrace/av.o mpdtrace/run.o mpdtrace/pp_hot.o mpdtrace/sv.o mpdtrace/pp.o mpdtrace/scope.o mpdtrace/pp_ctl.o mpdtrace/pp_sys.o mpdtrace/doop.o mpdtrace/doio.o mpdtrace/regexec.o mpdtrace/utf8.o mpdtrace/taint.o mpdtrace/deb.o mpdtrace/universal.o mpdtrace/globals.o mpdtrace/perlio.o mpdtrace/perlapi.o mpdtrace/numeric.o mpdtrace/mathoms.o mpdtrace/locale.o mpdtrace/pp_pack.o mpdtrace/pp_sort.o mpdtrace/caretx.o mpdtrace/dquote.o mpdtrace/time64.o mpdtrace/miniperlmain.o
cc -pthread -Wl,-E  -fstack-protector-strong -L/usr/local/lib -o miniperl  mpdtrace/opmini.o mpdtrace/perlmini.o mpdtrace/gv.o mpdtrace/toke.o mpdtrace/perly.o mpdtrace/pad.o mpdtrace/regcomp.o mpdtrace/dump.o mpdtrace/util.o mpdtrace/mg.o mpdtrace/reentr.o mpdtrace/mro_core.o mpdtrace/keywords.o mpdtrace/hv.o mpdtrace/av.o mpdtrace/run.o mpdtrace/pp_hot.o mpdtrace/sv.o mpdtrace/pp.o mpdtrace/scope.o mpdtrace/pp_ctl.o mpdtrace/pp_sys.o mpdtrace/doop.o mpdtrace/doio.o mpdtrace/regexec.o mpdtrace/utf8.o mpdtrace/taint.o mpdtrace/deb.o mpdtrace/universal.o mpdtrace/globals.o mpdtrace/perlio.o mpdtrace/perlapi.o mpdtrace/numeric.o mpdtrace/mathoms.o mpdtrace/locale.o mpdtrace/pp_pack.o mpdtrace/pp_sort.o mpdtrace/caretx.o mpdtrace/dquote.o mpdtrace/time64.o mpdtrace/miniperlmain.o dtrace_mini.o -lpthread -lm -lcrypt -lutil
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -w -Ilib -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build miniperl.  Please run make minitest; exit 1'
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib -f write_buildcustomize.pl
rm -f pod/perl5321delta.pod
/bin/ln -s perldelta.pod pod/perl5321delta.pod
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib autodoc.pl
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib pod/perlmodlib.PL -q
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_patchnum.pl
Updating 'git_version.h' and 'lib/Config_git.pl'
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib configpm
written lib/Config.pod
updated lib/Config.pm
updated lib/Config_heavy.pl
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Archive-Tar/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Archive::Tar
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Attribute-Handlers/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Attribute-Handlers directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/AutoLoader/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/AutoLoader directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/CPAN/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for CPAN
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/CPAN-Meta/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for CPAN::Meta
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/CPAN-Meta-Requirements/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/CPAN-Meta-Requirements directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/CPAN-Meta-YAML/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/CPAN-Meta-YAML directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Carp/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Carp directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Config-Perl-V/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Config-Perl-V directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Devel-SelfStubber/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Devel-SelfStubber directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Digest/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Digest directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Dumpvalue/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Dumpvalue directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Env/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Env directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/Errno/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Errno
"../../miniperl" "-I../../lib" Errno_pm.PL Errno.pm
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Exporter/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Exporter directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/ExtUtils-CBuilder/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/ExtUtils-CBuilder directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/ExtUtils-Constant/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/ExtUtils-Constant directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/ExtUtils-Install/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/ExtUtils-Install directly
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::Install
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/ExtUtils-MakeMaker/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::MakeMaker
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/ExtUtils-Manifest/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/ExtUtils-Manifest directly
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::Manifest
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/ExtUtils-Miniperl/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/ExtUtils-Miniperl directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/ExtUtils-ParseXS/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/ExtUtils-ParseXS directly
Generating a Unix-style Makefile
Writing Makefile for ExtUtils::ParseXS
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/File-Fetch/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/File-Fetch directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/File-Find/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/File-Find directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/File-Path/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/File-Path directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/File-Temp/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/File-Temp directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/FileCache/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/FileCache directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Filter-Simple/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Filter-Simple directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/FindBin/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/FindBin directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Getopt-Long/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Getopt-Long directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/HTTP-Tiny/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for HTTP::Tiny
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/I18N-Collate/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/I18N-Collate directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/I18N-LangTags/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/I18N-LangTags directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/lib/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for lib
"../../miniperl" "-I../../lib" lib_pm.PL lib.pm
Extracting lib.pm (with variable substitutions)
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/IO-Compress/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for IO::Compress
cp bin/streamzip blib/script/streamzip
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/IO-Compress/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/streamzip
cp bin/zipdetails blib/script/zipdetails
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/IO-Compress/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/zipdetails
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/IO-Socket-IP/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/IO-Socket-IP directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/IO-Zlib/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/IO-Zlib directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/IPC-Cmd/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/IPC-Cmd directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/IPC-Open3/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/IPC-Open3 directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/JSON-PP/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for JSON::PP
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Locale-Maketext/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Locale-Maketext directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Locale-Maketext-Simple/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Locale-Maketext-Simple directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Math-BigInt/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Math-BigInt directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Math-BigRat/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Math-BigRat directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Math-Complex/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Math-Complex directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Memoize/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Memoize directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Module-CoreList/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Module::CoreList
cp corelist blib/script/corelist
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/dist/Module-CoreList/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/corelist
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Module-Load/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Module-Load directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Module-Load-Conditional/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Module-Load-Conditional directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Module-Loaded/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Module-Loaded directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Module-Metadata/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Module::Metadata
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/NEXT/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/NEXT directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Net-Ping/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Net-Ping directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Params-Check/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Params-Check directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Perl-OSType/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Perl-OSType directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/PerlIO-via-QuotedPrint/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/PerlIO-via-QuotedPrint directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Pod-Checker/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod::Checker
"../../miniperl" "-I../../lib" "-I../../lib" podchecker.PL podchecker
Extracting podchecker (with variable substitutions)
cp podchecker blib/script/podchecker
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/Pod-Checker/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/podchecker
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Pod-Escapes/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Pod-Escapes directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/if/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for if
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Pod-Simple/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Pod-Simple directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/Pod-Functions/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod::Functions
"../../miniperl" "-I../../lib" Functions_pm.PL ../../pod/perlfunc.pod
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/Pod-Html/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod::Html
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Pod-Perldoc/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod::Perldoc
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Pod-Usage/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod::Usage
"../../miniperl" "-I../../lib" "-I../../lib" pod2usage.PL pod2usage
Extracting pod2usage (with variable substitutions)
cp pod2usage blib/script/pod2usage
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/Pod-Usage/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pod2usage
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Safe/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Safe directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Search-Dict/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Search-Dict directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/SelfLoader/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/SelfLoader directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Term-ANSIColor/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Term-ANSIColor directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Term-Cap/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Term::Cap
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Term-Complete/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Term-Complete directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Term-ReadLine/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Term-ReadLine directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Test/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Test directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Test-Harness/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Test::Harness
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Test-Simple/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Test-Simple directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Text-Abbrev/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Text-Abbrev directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Text-Balanced/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Text-Balanced directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Text-ParseWords/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Text-ParseWords directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Text-Tabs/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Text-Tabs directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Thread-Queue/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Thread-Queue directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Thread-Semaphore/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Thread-Semaphore directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/Tie-File/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/Tie-File directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/Tie-Hash-NamedCapture/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/Tie-Hash-NamedCapture directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl ext/Tie-Memoize/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for ext/Tie-Memoize directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Tie-RefHash/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Tie-RefHash directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/Time-Local/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/Time-Local directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/XSLoader/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for XSLoader
"../../miniperl" "-I../../lib" XSLoader_pm.PL XSLoader.pm
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/autodie/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/autodie directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/autouse/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/autouse directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/base/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for base
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/bignum/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/bignum directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/constant/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/constant directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl dist/encoding-warnings/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for dist/encoding-warnings directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/experimental/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/experimental directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/libnet/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Net
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/parent/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/parent directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/perlfaq/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/perlfaq directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/podlators/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Generating a Unix-style Makefile
Writing Makefile for Pod
"../../miniperl" "-I../../lib" "-I../../lib" scripts/pod2man.PL scripts/pod2man
Extracting pod2man (with variable substitutions)
"../../miniperl" "-I../../lib" "-I../../lib" scripts/pod2text.PL scripts/pod2text
Extracting pod2text (with variable substitutions)
cp scripts/pod2man blib/script/pod2man
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/podlators/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pod2man
cp scripts/pod2text blib/script/pod2text
/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1/cpan/podlators/../../miniperl "-I../../lib" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/pod2text
Manifying 2 pod documents
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib make_ext.pl cpan/version/pm_to_blib  MAKE="/usr/bin/make" LIBPERL_A=libperl.so.5.32.1
Running pm_to_blib for cpan/version directly
LD_LIBRARY_PATH=/wrkdirs/usr/ports/lang/perl5.32/work/perl-5.32.1 ./miniperl -Ilib lib/unicore/mktables -C lib/unicore -P pod -maketest -makelist -p
Processing PropertyAliases.txt
Finishing property setup
Processing PropValueAliases.txt
Processing extracted/DGeneralCategory.txt
Processing extracted/DCombiningClass.txt
Processing extracted/DNumType.txt
Processing extracted/DEastAsianWidth.txt
Processing extracted/DLineBreak.txt